【问题标题】:find & sed: remove linesfind & sed:删除行
【发布时间】:2013-01-10 01:08:01
【问题描述】:

我正在尝试删除 PHP 文件中的某些行。我尝试使用 find、exec 组合:

find . -name '*.php' -exec sed '/@category/d' {} \;

但它只打印出文件内容。语法有什么问题吗?或者是什么问题?

【问题讨论】:

    标签: linux shell


    【解决方案1】:

    它有效,但可能不是你所期望的。

    find . -name '*.php' -exec sed -i '/@category/d' {} \;
    

    将删除有问题的行。

    【讨论】:

      【解决方案2】:

      你能试试这个命令吗:

      find . -name '*.php' -exec sed -i '/@category/d' {} \;
      

      我认为你错过了 -i 选项

      【讨论】:

        【解决方案3】:

        这应该是 sed 的命令,所以尝试添加 -i :

        sed -i ".bak" '/culpa/d' test.txt

        find . -name '*.php' -exec sed -i '/@category/d' {} \;

        答案来源: Bash - find a keyword in a file and delete its line

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-11-20
          • 1970-01-01
          • 2013-05-01
          • 2013-04-08
          • 2021-05-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多