Grep
grep 匹配的引用文件
grep 的手冊頁顯示
"grep -lZ outputs a zero byte after each file name instead of the usual newline"
但在我的情況下,輸出中的文件仍然需要引號。為了使它工作:
/usr/bin/grep -rlZ 'Not Found'|xargs -0 rm
文件名中
-w
的.like-webkit-stuff.html
不應被解釋為 rm 的選項。所以我目前正在這樣做:/usr/bin/grep -rlZ 'Not Found'|\ xargs -0 -I{} find . -type f -name {} -print0 | xargs -0 rm
那效率不高。有沒有“更好
-print0
”的 grep 版本?你會怎麼做?
你可以使用
/usr/bin/grep -rlZ 'Not Found' | xargs -0 -r rm --
--
阻止實用程序在之後將任何內容解釋為選項,或者,/usr/bin/grep -rlZ 'Not Found' . | xargs -0 -r rm
這將導致
grep
在所有文件的路徑名前加上./
. 如果沒有輸入(即,如果沒有文件包含字元串),則make-r
選項不執行命令。xargs``xargs
grep
我個人可能會使用
find
:find . -type f -exec grep -qF 'Not found' {} ';' -delete
(我認為做同樣的事情:遞歸刪除包含字元串的文件
Not found
)