我正在尝试编写一个脚本来复制文件,并替换文件名中的log_REPLACE
字符串以及文件中的字母和。REPLACE
A
B
所以我想创建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)。有一个更好的方法吗?
答案1
您可以循环遍历可能的文件名子字符串,用 进行替换sed
,将 STDOUT 保存sed
为所需的文件名:
for i in a b; do
sed "s/REPLACE/$i/g" log_REPLACE >"log_$i"
done
进行必要的更改以满足您的需求。