使用没有备份文件的sed -i Mac OSX

时间:2015-11-25 01:15:18

标签: macos sed

我发现了这篇文章:Variations of sed between OSX and GNU/Linux

SED without backup file

提供了在Mac OSX上使用sed -i的解决方案,使得它不会在搜索和替换命令上创建后备文件。

如, 注意在-i选项之后的单引号空格单引号以指定零长度扩展:

sed -i ' ' 's/foo/|bar/g' test.html

我的问题 - 这会为我创建一个备份文件,它会为备份文件提供与我输入文件相同的名称,“test.html”

我需要在许多文件上运行搜索/替换,我不想要备份文件。

这是我的实际命令:

sed -i ' ' "s|research/projects/vertebrategenome/havana/|science/groups/vertebrate-annotation|g" test2.html

我在哪里获得一个名为“test2.html”的备份文件

2 个答案:

答案 0 :(得分:5)

在Mac上,你得到了sed的BSD版本。它需要包含一个空字符串作为-i的参数。注意,在linux上,很高兴接受-i没有扩展名。

在Linux上:

sed -i 's|StringToReplace|ReplacedString|'
在MacOSX / * BSD上

sed -i '' 's|StringToReplace|ReplacedString|'

注意,您希望空字符串('')不是空白('')。

答案 1 :(得分:2)

我发现在Linux和Mac上使用相同脚本的最佳方法是:

=FREQUENCY(A1:A7952,B2:B9)