我想更改源文件中的一些文本,并使用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
答案 0 :(得分:2)
那么就不要就地做。
sed 's/FIND TEXT/REPLACE TEXT/g' source.txt > dest.txt
答案 1 :(得分:1)
对awk
awk '{gsub(/FIND TEXT1/,"REPLACE TEXT1");gsub(/FIND TEXT2/,"REPLACE TEXT2")}1' source.txt > dest.txt
gsub()
替换所有找到的文字
1
会打印所有行。