log_REPLACE
ファイルをコピーし、ファイル名の文字列をファイルの文字の合計に置き換えるスクリプトを作成しようとしています。REPLACE
A
B
だから文字列がそれぞれ文字AとBに変わるlog_A
、とを作りたいと思います。log_b
REPLACE
私の考えでは:
cp log_REPLACE log_A
cp log_REPLACE log_B
grep -rl REPLACE | xargs sed -i 's/REPLACE/A/g'
ただし、最終的には2つのコピー(* Aと* B)で書き換えられます。もっと良い方法がありますか?
答え1
可能なファイル名の部分文字列を繰り返し、に置き換え、STDOUTを必要なファイル名でsed
保存できます。sed
for i in a b; do
sed "s/REPLACE/$i/g" log_REPLACE >"log_$i"
done
必要に応じて必要な変更を行います。