使用'sed'查找并替换一些文本并将其存储在另一个文件中

时间:2016-09-16 09:51:13

标签: shell unix command-line sed

我有一个文件base_foo.txt,想要替换base_file中的一些文本并将其存储在另一个文件中而不改变基本文件。谢谢!

类似的东西:

sed -i -e 'r/foo/bar/' base_foo.txt ???

2 个答案:

答案 0 :(得分:0)

如果您不想修改onriginal文件,则必须删除-i标志。如果没有-i sed,则会将其输出发送到stdout,因此您可以将其重定向到文件。做这样的事情:

sed -e 'r/foo/bar/' base_foo.txt > new_file.txt

答案 1 :(得分:0)

-i已在sed中替换。所以它使用的原始文件将被修改。

要显示更改,请使用:

sed -e 's/foo/bar/g' file  #Only to stdout

将更改重定向到新文件:

sed -e 's/foo/bar/g' file > new.file # changes would be only in new.file

更改orignal保留备份

sed  -i.bak -e 's/foo/bar/g' file  #Changes in file ,no change in file.bak