簡體   English   中英

如何在bash / shell腳本中查找不以“.log”結尾的文件

[英]How to find files which do not end with “.log” in bash/shell script

我是bash / shell腳本的新手。 我想找到目錄和子目錄中的所有文件,它們不以“.log”結尾。 我知道我可以使用下面的命令來獲取以“.log”結尾的文件,但是我需要那些不以此擴展名結尾的文件:

find /tmp/mallik5/ -iname "*.log"

我怎樣才能做到這一點?

這個find表達式可以實現:

find /tmp/mallik5/ ! -name "*.log"

如果您只是查找文件,請添加-type f

find /tmp/mallik5/ -type f ! -name "*.log"
find /tmp/mallik5 -type f ! -name '*.log'

通過了解GNU Find util是最合適的工具,您可以自己完成任務。

Quick Solutions的幾個將是

find /tmp/mallik5/ -not -name *.log
find /tmp/mallik5/ ! -name *.log

如果您嘗試對查找結果采取措施,可以嘗試:

find /tmp/mallik5/ -not -name *.log -print0 | xargs -0 rm -f 

以上行可幫助您查找和刪除名稱不以* .log結尾的文件

關於模式匹配的知識是解決任務,了解更多信息的關鍵。 點擊這里

要了解有關GNU find實用程序的更多信息, 請訪問此處

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM