如果想要修改文件的内容,可以用如下的命令:
sed -i 's/被替换的内容/要替换成的内容/g' file
示例文件(test1.txt)内容
现在我们将示例文件内容中的
Hello World修改成 Hello Tom
sed -i 's/Hello World/Hello Tom/g' test1.txt
执行之后如下
在Mac上执行上面的命令会报如下错误:
sed: 1: "test1.txt": undefined label 'est1.txt'
原因:mac强制要求备份,否则报错
解决方案1:
增加一个备份的追加名
sed -i '.copy' 's/Hello Tom/Hello World/g' test1.txt
解决方案2:
只保留一份,不实用其他备份名字:
sed -i '' 's/Hello Tom/Hello World/g' test1.txt
还可以将修改好的文件另外保存到file2:
sed 's/被替换的内容/要替换成的内容/g' file1 > file2