我需要替换所有出现的内容并写回同一个文件
我试过了:
sed 's/one/two/g' file.txt
Run Code Online (Sandbox Code Playgroud)
这打印出来但不写入文件
我也试过了
sed 's/one/two/g' file.txt>file.txt
Run Code Online (Sandbox Code Playgroud)
这导致空文件
sed -i 's/one/two/g' file.txt
Run Code Online (Sandbox Code Playgroud)
给出错误: sed: 1: "file.txt": invalid command code f
任何的想法?
对于Mac:-i.bak用于添加备份文件
sed -i.bak 's/one/two/g' file.txt
Run Code Online (Sandbox Code Playgroud)
要么
sed -i '' 's/one/two/g' file.txt
Run Code Online (Sandbox Code Playgroud)
对于Linux:使用sed -ion来进行infile替换
sed -i 's/one/two/g' file.txt
Run Code Online (Sandbox Code Playgroud)
您还可以使用tmp文件执行以下操作:
sed 's/one/two/g' file.txt > tmp.txt && mv tmp.txt file.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1728 次 |
| 最近记录: |