linux 查找包含关键字的所有文件并删除该文件。

2024-12-02 09:30:32
推荐回答(4个)
回答1:

1、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。

2、在linux命令行下输入shell指令:find . -name "abc*"|xargs rm -rfv。

3、键盘按“回车键”运行shell指令,此时会看到abc开头的abc123.txt和abc6swef.txt都被删除了。

回答2:

find  /var/www/html/tom -type f  | xargs -n1 -I "ZZZZZ" grep -l "abc" "ZZZZZ" | xargs -n1 -I "XXXXX" rm -f "XXXXX"


其中, ZZZZZ 和 XXXXX 都是临时命名变量,你使用的时候直接这样用就可以。不需要替换成别的字符。


前面2个回答,都是文件名中包含 abc ,而不是文件内容包含abc。所以,我的是正确的。

回答3:

我这个方法感觉有点繁琐:

# find . -name \* -type f -print | xargs grep "hostname" | awk -F: '{print $1}' | xargs rm -rf

说明:查找当前目录下包含hostname的文件,并删除!
应该还有更简便的方法!

回答4:

find /var/www/html/tom/* -name "*abc*" -exec rm -rf {} \;