Find
全域不匹配?
如何列出與 glob 不匹配的文件?
例如,假設我有一個包含數百個文件的目錄,其中 97% 的文件副檔名為
.png
.我知道我可以列出 PNG 文件:
ls *.png
但是,我如何列出相反的內容,即僅列出非 PNG 文件?
使用 ls:
ls -I "*.png"
引號對於停止 shell 評估很重要
*
使用查找:
find . -not -name "*.png"
如果您有子目錄(帶有文件),您可能希望限制搜尋:
find . -maxdepth 1 -type f -not -name "*.png"
在哪裡
-maxdepth 1
將其限制在目前目錄-type f
只允許它列印文件