我发现了这篇文章:OSX和GNU / Linux之间sed的变体
后者提供了在Mac OSX上使用sed -i的解决方案,这样它就不会在搜索和替换命令上创建后退文件。
例如,请注意-i选项后的单引号空格单引号,以指定长度为零的扩展名:
sed -i ' ' 's/foo/|bar/g' test.html
Run Code Online (Sandbox Code Playgroud)
我的问题-这确实为我创建了一个备份文件,并且为备份文件提供了与我的输入文件“ test.html”相同的名称。
我需要对许多文件运行搜索/替换,并且我不希望备份文件。
这是我的实际命令:
sed -i ' ' "s|research/projects/vertebrategenome/havana/|science/groups/vertebrate-annotation|g" test2.html
Run Code Online (Sandbox Code Playgroud)
在哪里获得一个名为“ test2.html”的备份文件
在Mac上,您将获得sed的BSD版本。它需要包含一个空字符串作为-i的参数。请注意,在linux上,很高兴接受不带扩展名的-i。
在Linux上:
sed -i 's|StringToReplace|ReplacedString|'
Run Code Online (Sandbox Code Playgroud)
在MacOSX / * BSD上
sed -i '' 's|StringToReplace|ReplacedString|'
Run Code Online (Sandbox Code Playgroud)
注意,您想要一个空字符串('')而不是一个空白('')。
| 归档时间: |
|
| 查看次数: |
1068 次 |
| 最近记录: |