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

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

但是不能省略。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第1章 小试牛刀 $ 是普通用户,# 表示管理员用户 root。 shebang:#!。sharp / hash ...
    巴喬書摘阅读 6,422评论 1 4
  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    485b1aca799e阅读 1,124评论 0 0
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,224评论 2 33
  • 总结帖: App更新模块 [给用户和老板的省钱利器,Android增量更新] 第三方平台登录、分享模块什么,集成微...
    JerryloveEmily阅读 519评论 1 1
  • import <Foundation/Foundation.h> int main(int argc, const...
    punisher阅读 339评论 0 2