mac下执行sed -i 命令出现下面的错误
extra characters at the end of n command
或者
sed: 1: “test.rptdesign”: undefined label ‘est.rptdesign’

linux上就没有问题,所以在mac上使用的正确方式为,在-i后面加一个 空字符串

#将a替换为b
sed -i "" "sed -i "s/a/b/g"  test

只有-i 有这个影响。

# 注意 这个是先使用grep 查找当前目录及子目录,列出文件内容包含a的文件名,全部替换,注意 在sed后面必须要使用 `  符号,不是单引号
sed -i "s/a/b/g"  `grep a -rl *.txt`  

注:
`` 反引号 相当于 $()
命令行替换

例如:可以设变量a=`ls`

Logo

更多推荐