我正在尝试删除目录层次结构中的所有文件,其中包含某个字符串(不是文件名,而是文件内容)。
我可以使用“grep -r -l mystringlooking for”列出文件中所有包含字符串的文件名。
但是我怎样才能删除 grep 返回的所有文件?我正在 ubuntu 上尝试这个。
谢谢。
答案1
grep -r -I -l 'yourstring' . | xargs rm
-l 标志输出匹配的文件的路径。| 将其通过管道传输到下一个命令,即 xargs。xargs 对通过 STDIN(由管道提供)接收到的每一行执行其参数 (rm)。
做这个的时候要小心。rm 不会询问“你确定吗”,而且也无法取消删除。