質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Q&A

解決済

3回答

524閲覧

shell にて特定行の置換方法がわからない

taishi1111

総合スコア5

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

0グッド

0クリップ

投稿2022/06/24 08:23

現在以下2つのファイルがあります。
設定ファイル(.env)と設定一覧ファイル(envlist.txt)があります。

設定一覧ファイル(envlist.txt)

DB_CONNECTION=mysql DB_HOST=test-db.ap-northeast-1.rds.amazonaws.com DB_PORT=3306 DB_DATABASE=testdb DB_USERNAME=testname DB_PASSWORD=hogehogehoge DB_PASSWORD_SAMPLE=samplepass 以下省略

上記の設定一覧ファイル(envlist.txt)の
DB_PASSWORD=hogehogehoge
のhogehogehogeのみを、新しいPASSWORDに置換して、設定ファイル(.env)をshellファイルで作成したいとおもっております。

現在、、、、
sample.shファイルにて

#!/bin/sh password=newpass sed -e '6s/./*/g' .envlist

6行目のみを取得して更新を試みるが、期待通り動かずにいます、、、
どのようにすれば、期待通り動かすことができますでしょうか、、、、

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

いいとこまでできてるんじゃないスかね

#!/bin/sh password=newpass sed '6s/.*/DB_PASSWORD='$password'/' envlist.txt

投稿2022/06/24 11:52

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taishi1111

2022/06/24 15:51

回答ありがとうございます!!!!できました!!!ちなみに、shellスクリプトは習うより慣れよ。でしょうか。
takasima20

2022/06/24 20:09

そうスね。なにができるかorできないかが判断できるようになればサクサク書けますよ。
taishi1111

2022/06/25 13:02

ありがとうございます!!!
guest

0

こんな感じでいかがでしょうか?
sed -E '/^DB_PASSWORD=/s/hogehogehoge/mogemogemoge/g' .envlist

投稿2022/06/24 08:50

okakemetal

総合スコア261

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

※ 質問の意味を取り違えていましたので削除

投稿2022/06/24 08:49

編集2022/06/24 08:59
melian

総合スコア19618

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問