是否可以使用“ls -l *”新增例外

是否可以使用“ls -l *”新增例外

例如是否可以這樣做:ls -l *列印所有目錄的內容。並添加一個例外,例如,test.cpp 為了打印除test.cpp.

答案1

如果您已啟用,則可以使用 glob 來完成此操作extglob。您可以透過以下方式啟用它:

shopt -s extglob

你可以這樣使用它:

ls -l !(test.cpp)

它也可以用於其他方式:

ls -l !(*.jpg) # list all files that don't have .jpg extensions

由於這是一個 shell glob,因此它也可以與其他命令一起使用。然而,一個副作用是它會導致明確列出所有子目錄,這意味著ls也會列出它們。但是,這可以很容易地處理:

ls -ld !(test.cpp)

答案2

經典的(天真的?)方法是

  ls -l * | grep -v test.cpp

然而,正如 Lamar 評論的那樣,GNUls可以選擇忽略某些檔名

  ls -l -I test.cpp *

注意ls -l *列出目前目錄中的文件以及第一級子目錄中的文件。你的意思可能是ls -l沒有*

相關內容