【问题标题】:search and remove specific file using linux command [duplicate]使用linux命令搜索和删除特定文件[重复]
【发布时间】:2018-05-23 10:05:56
【问题描述】:

我使用这个命令搜索所有包含这个词的文件。我想删除特定目录中包含此单词的所有文件。 grep 命令完美。建议我如何使用

     rm -rf

使用以下命令

     grep -l -r  -i  "Pending" . | grep -n  . | wc -l

【问题讨论】:

  • This 链接将帮助您满足您的要求。
  • grep -n 已经显示了行号,无需将其传递给wc -l。为了获得计数,省略grep,或者如果您确实需要过滤掉空行,则只需管道到grep -c(但在这种情况下您真的不需要;grep -l 当然可以发出包含两个的文件名连续的换行符,但如果文件名带有换行符,则管道的其余部分无论如何都会被破坏)。

标签: linux ubuntu command


【解决方案1】:

这可以通过使用l 标志并将文件名传送到xargs 来完成:

-l (字母 ell。)只写包含选定文件的文件名 行到标准输出。每个搜索的文件都会写入一次路径名。 如果搜索标准输入,(标准输入)的路径名将 在 POSIX 语言环境中编写。在其他语言环境中,标准输入可能是 替换为在这些语言环境中更合适的内容。

grep -l -r 'Pending' . | xargs rm

以上将删除当前目录下所有包含Pending字样的文件。

【讨论】:

  • 输出如下 rm: cannot remove 'Scenario726EB519-D21E-DD8E-D632-339885A1FA58.html': No such file or directory
  • @MayureshHedaoo - 尝试使用-0 标志,例如:xargs -0 rm
猜你喜欢
  • 2017-10-28
  • 2021-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-13
  • 1970-01-01
相关资源
最近更新 更多