我已成功使用以下sed命令在Linux中搜索/替换文本:
sed -i 's/old_link/new_link/g' *
Run Code Online (Sandbox Code Playgroud)
但是,当我在Mac OS X上试用它时,我得到:
"命令c期望\后跟文本"
我以为我的Mac运行普通的BASH shell.这是怎么回事?
编辑:
根据@High Performance,这是由于Mac sed具有不同的(BSD)风格,因此我的问题是如何在BSD中复制此命令sed?
编辑:
以下是导致此问题的实际示例:
sed -i 's/hello/gbye/g' *
Run Code Online (Sandbox Code Playgroud) 我试图找出是否可以在单个sed命令中编辑文件,而无需手动将已编辑的内容流式传输到新文件中,然后将新文件重命名为原始文件名.我尝试了这个-i选项,但我的Solaris系统说这-i是一个非法的选择.有不同的方式吗?