sed命令在mac中不起作用

Nic*_*ilt 5 bash sed

以下sed命令无法在我的Lion mac上运行.

find . -type f -exec sed -i 's/user_dashboard/user/g' {} \;
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误

sed: 1: "./vendor/assets/javascr ...": invalid command code .
Run Code Online (Sandbox Code Playgroud)

she*_*ter 21

OSX版本与sed大多数Linux系统中的版本不同.

它扩展了-i 选项,使您有机会保存具有不同扩展名的文件,但需要输入该扩展名.

如果您只想覆盖该文件,则需要使用该文件进行就地sed -i "" ...sedCmd.... fileName重命名.

根据@JamesMcMahon的评论,请参阅此处获取OSX/BSD sed完整文档.

我希望这有帮助.

  • 这个答案值得标记为答案! (2认同)

Edu*_*nec 6

-i你的sed版本可能有不同的含义(不是"就地").尝试使用gsed,如果可用或更换-i-e和使用临时文件(和mv事后)效仿.

  • brew安装gnu-sed (2认同)