script1.sh
、、、script2.sh
...、10のbashシェルスクリプトがあるとしますscript10.sh
。最初は10個のファイルがすべて同じです。
では、各スクリプトで2つのことを変更したいと思います。
各ファイルの特定の行(たとえば、8行)を変更したいと思います。つまり、8行目のすべての項目を削除して次に置き換えます。「言葉なし」文字列を指定します。たとえば、次のように
"This is line 8."
なります。この問題しかし、彼らは置き換えを使用したいと思い、私は"AAA"
8"BBB"
行(それが何でも)を変更に変更したいと思います"This is line 8."
。各ファイルで別の特定の行(21行など)を変更し、次に置き換えたいと思います。「変える」私が指定した文字列です。たとえば、
script1.sh
21行をに変更し、21行を21行に変更したいと思います。"XYZ"
本質的に、これは関数へのいくつかの呼び出しです。script2.sh
"PQR"
script3.sh
"ABC"
(1)上記と同じです。ただし、すべてのファイルではなく別々のファイルで変更を行い、1つではなく10個の異なる文字列を指定することを除いてください。だから得るために(2)ここで、たぶん私が電話するかもしれません。(1)10の異なった時間、異なった変数。
bash
vi
、、などの一般的なLinuxプログラムを使用するソリューションに興味がありますawk
。gawk
ベストアンサー1
for file in f1 f2; do
sed -i '8s/^.*$/foo/' "$file"
done