0

我想更改源文件中的一些文本并使用 unix 将其放入目标文件中。使用sed我可以做

sed -i 's/FIND TEXT/REPLACE TEXT/g' source.txt

但这会替换同一文件中的文本。我想要类似的东西

sed -i 's/FIND TEXT/REPLACE TEXT/g' source.txt dest.txt

source.txt未修改但更改存在的地方dest.txt

4

2 回答 2

2

所以不要在原地做。

sed 's/FIND TEXT/REPLACE TEXT/g' source.txt > dest.txt
于 2013-10-14T04:08:36.510 回答
1

做同样的事情awk

awk '{gsub(/FIND TEXT1/,"REPLACE TEXT1");gsub(/FIND TEXT2/,"REPLACE TEXT2")}1' source.txt > dest.txt

gsub()替换它找到的所有文本

1替换完成后打印所有行。

于 2013-10-14T05:19:55.400 回答