sed常规用法(即在Linux下运行的方式):
sed -i 'xxx' file
对file文件执行文本替换,具体替换规则根据xxx定义。
但是在Mac系统中运行该指令会报错,原因在于Mac系统中sed指令-i后面需要带一个字符串,该字符串的含义是连接原文件名生成一个新的文件,该文件的内容为文本修改之前的内容。比如
sed -i 'back' 's/str=.*/str="dd"/g' file
执行之后会生成一个新的文件:fileback,文本内容为file修改之前的内容。
如果不想生成这个备份文件,可以把字串定义为空字串,比如
sed -i '' 's/str=.*/str="dd"/g' file
但是不能省略。
转自:
作者:海阔天空domybest
链接:https://www.jianshu.com/p/d5afeba9fc55