mac 使用 sed 报错: command a expects \ followed by text

在mac上面进行sed命令练习,会报错:command a expects \ followed by text

$ sed '4a newline' test.txt
sed: 1: "4a newline": command a expects \ followed by text

经过网上查资料,发现 由于 mac 系统与 linux 系统的差异,mac自带的sed命令,因为其是基于bsd,所以与常用的gnu不一样,安装gnu-sed 可正常使用:
1.brew install gnu-sed
//注意,命令行之行此句时,要在用户权限下,不要在root下,因为在root下,会提示不安全,这里主要用到homebrew工具
2.vi ~/.bash_profile
export PATH=“/usr/local/opt/gnu-sed/libexec/gnubin:$PATH”
3.source ~/.bash_profile 或者新开窗口,让设置生效。

参考资料原文链接:Mac下的sed命令_mac sed命令_IT独白者的博客-CSDN博客

1 个赞