2016-12-01 11 views
0

かなりシンプルであると思われるものを助けていただければ幸いです。テキストファイル内の特定の行をプログラムで修正する

コンフィギュレーションファイル内の特定の行をプログラムで変更できるようにします。具体的には、ファイルが

...Other lines... 
# The name of the database to mount 
dbms.active_database=test.db 
...Other lines... 

のように見える私は、他のプログラムは、行を追加または削除することなど、「production.db」と「test.dbという」を置き換えることができるようにしたいので、私は上で数えることができません一貫した行番号ですが、「dbms.active_database =」を含む他の行はありません

どのようにすればよいでしょうか?

ありがとうございます。

+0

どのプログラミング言語を使用すると、それを編集するために使用しますか? Pythonを使うと素早くシンプルになります –

+0

Pythonは大丈夫ですが、シェルプログラミング(sedまたはawk?)からそれを実行できるのはさらに優れています。 ありがとうございます。 – ghoetker

答えて

1

sed 's/\(^dbms\.active_database=\)test\.db/\1production.db/' file 
1
awk -v name0fNewDb="HEythere.db" 'BEGIN{FS=OFS="="}/dbms.active_database/{$2=name0fNewDb}1' 
...Other lines... 
# The name of the database to mount 
dbms.active_database=HEythere.db 
...Other lines... 

私は右の問題文を理解している場合、これが唯一の"dbms.active_database"で構成されてライン上の変更を行うことであなたを助けるべきです。 =の右部分を置き換える場所。 name0fNewDbは、要件の任意のテキストを割り当てることができる変数です。 SEDで

関連する問題