Ls
列出與文件名中給定字元串不匹配的文件
我有一個目錄,其中創建了許多同名的文件(大約 200 個)以及
temp_log.$$
我需要檢查的其他幾個重要文件。如何輕鬆列出所有文件並排除
temp_log.$$
文件顯示?預期產出
$ ls -lrt <exclude-filename-part> -- Lists files not matching the above given string
我瀏覽了
ls
手冊頁,但在此參考資料中找不到任何內容。如果我在這裡遺漏了任何重要資訊,請告訴我。謝謝
使用 GNU
ls
(非嵌入式 Linux 和 Cygwin 上的版本,有時也可以在其他地方找到),您可以在列出目錄時排除一些文件。ls -I 'temp_log.*' -lrt
-I
(注意is的長形式--ignore='temp_log.*'
)使用 zsh,您可以讓 shell 進行過濾。傳遞給以
-d
避免ls
列出匹配目錄的內容。setopt extended_glob # put this in your .zshrc ls -dltr ^temp_log.*
通過 ksh、bash 或 zsh,您可以使用 ksh 過濾語法。在 zsh 中,
setopt ksh_glob
先執行。在 bash 中,shopt -s extglob
首先執行。ls -dltr !(temp_log.*)