Rename

複製文件並替換字元串

  • May 2, 2017

我正在嘗試編寫一個腳本來複製文件log_REPLACE,並將文件名中的字元串以及文件中的字元串替換REPLACE為字母AB

所以我想創建log_A, 和log_b, 其中的字元串REPLACE分別替換為其中的字母 A 和 B 。

我正在努力:

cp log_REPLACE log_A
cp log_REPLACE log_B
grep -rl REPLACE  | xargs sed -i 's/REPLACE/A/g'

但最終會在兩個副本(*A 和 *B)中重寫。有一個更好的方法嗎?

您可以遍歷可能的文件名子字元串,用 進行替換sed,將 STDOUT 保存sed為所需的文件名:

for i in a b; do
   sed "s/REPLACE/$i/g" log_REPLACE >"log_$i"
done

進行必要的更改以滿足您的需要。

引用自:https://unix.stackexchange.com/questions/362625