zoukankan      html  css  js  c++  java
  • sed: 1: “…”: invalid command code on Mac OS

    昨天因为项目中有很多文件的同一个变量需要批量替换成另一个,想用sed做这个。Linux 这样其实就可以了

    ~# sed -i “s/string_old/string_new/g” grep -rl string_old ./

    Mac 会得到抛出这个错误

    sed: 1: “…”: invalid command code .

    为什么呢,在 Mac 上用 man 查看sed命令~# man sed

    -i extensionEdit files in-place, saving backups with the specified extension. If a zero-length extension is given, no backup will be saved. It is not recommended to give a zero-length extension when in-place editing files, as you risk corruption or partial content in situations where disk space is exhausted, etc.

    ….

    翻译:就地替换文件,根据提供的扩展名保存源文件备份。如果不提供扩展名,则不备份。建议替换操作时提供文件备份的扩展名,因为如果恰巧磁盘耗尽的话,你将冒着原文件被损坏的风险。

    所以,如果我们不需要备份的话,可以这样

    ~# sed -i “” “s/string_old/string_new/g” grep -rl string_old ./

    或者要备份原文件

    ~# sed -i “.bak” “s/string_old/string_new/g” grep -rl string_old ./

  • 相关阅读:
    标准差,绝对中位差
    批处理计时
    四元数压缩
    float类型的存储方式
    通俗易懂理解——浮点与定点的计算机表示及互转
    max MultiRes修改器
    Topogun拓补工具
    3dmax高模到低模烘法线
    在线曲线绘制
    景深
  • 原文地址:https://www.cnblogs.com/xiaoleiel/p/8295351.html
Copyright © 2011-2022 走看看