gpt4 book ai didi

linux - 递归删除所有包含特定字符串的名为 NET_Connections* 的文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:00:58 24 4
gpt4 key购买 nike

我需要找到一种方法来删除文件夹及其子文件夹中文件名为“NET_Connections*”的所有文件,但只删除文件内容中具有特定字符串的文件(例如“TCP_Connections”)。

目前,我有这样的事情:

find . -type f -name "NET_Connections*" -exec rm -f {} \;

我如何检查 find 之间的内容。 -type f -name "NET_Connections*"-exec rm -f {}\;

非常感谢!

格茨

威廉

最佳答案

试试这个:

\rm -f $(find . -type f -name "NET_Connections*" | xargs grep -l TCP_Connections | sed -r 's/\.[[:alnum:]]+$/*/')
  • 查找命令 - 将查找名称类似于 NET_Connections 的文件
  • grep -l - 将只打印包含 TCP_Connections 的文件名。
  • \rm -f - 强制删除 grep 找到的文件。
  • sed - 用 * 替换扩展名,这样它会删除所有像 NET_Connections* 这样包含 rrd 和 xml 的文件。

*您也可以执行 -exec grep 而不是管道。

关于linux - 递归删除所有包含特定字符串的名为 NET_Connections* 的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27043774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com