sed指令在Linux与Mac下使用的区别

Posted on 2019-11-29 09:43  xiaoyongyang  阅读(38)  评论(0编辑  收藏  举报

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

Copyright © 2024 xiaoyongyang
Powered by .NET 9.0 on Kubernetes