【问题标题】:Removing all files from a folder with by searching for a string in unix通过在 unix 中搜索字符串从文件夹中删除所有文件
【发布时间】:2009-10-30 09:33:10
【问题描述】:

我正在开发一个 solaris 盒子。如何删除文件夹中包含“失败”字样的所有文件?

我正在尝试以下行中的某些内容,但似乎没有删除任何内容。

rm -rf | find ./*.log -exec grep 'Failure' \;

感谢您的投入。

【问题讨论】:

    标签: unix shell


    【解决方案1】:

    如果我解释正确,你不需要递归搜索,所以类似:

    rm -f `grep -m 1 'Failure' ./*.log | cut -d: -f1`
    

    应该可以。如果没有,请尝试:

    rm -f `grep 'Failure' ./*.log | cut -d: -f1 | uniq`
    

    【讨论】:

    • 我收到“grep:非法选项 -- m”消息。还有其他建议吗?
    【解决方案2】:
    find . -type f -name \*Failure\* -exec rm {} \;
    

    【讨论】:

    • 我正在尝试以下方法,但没有结果: find 。 -exec grep "失败" -exec rm {} \;
    【解决方案3】:

    你必须扭转局面。使用 find 定位文件,然后将 -exec 选项与 rm 命令一起使用。

    【讨论】:

      猜你喜欢
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-08
      • 1970-01-01
      • 1970-01-01
      • 2011-07-31
      相关资源
      最近更新 更多