我是bash/shell腳本的新手。 我想查找目錄和子目錄中的所有文件,這些文件不以「.log」結尾。 我知道我可以使用下面的命令來獲得其爲「.log」結尾的文件,但我需要不與這個擴展名結尾的那些:如何在bash/shell腳本中查找不以「.log」結尾的文件
find /tmp/mallik5/ -iname "*.log"
我怎樣才能做到這一點?
我是bash/shell腳本的新手。 我想查找目錄和子目錄中的所有文件,這些文件不以「.log」結尾。 我知道我可以使用下面的命令來獲得其爲「.log」結尾的文件,但我需要不與這個擴展名結尾的那些:如何在bash/shell腳本中查找不以「.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是適當的工具。
情侶快速的解決方案將是:
find /tmp/mallik5/ -not -name *.log
find /tmp/mallik5/ ! -name *.log
如果你想採取發現的結果採取行動,你可以嘗試:
find /tmp/mallik5/ -not -name *.log -print0 | xargs -0 rm -f
上面一行幫助您查找並刪除名稱不以* .log結尾的文件
關於的知識模式匹配是解決任務的關鍵,瞭解更多。 Click Here
要了解更多關於GNU找到實用,visit here