Bash
在 Bash 中,如何在提供多個異常的同時針對萬用字元 rm 文件?
我有以下文件列表:
主要.acn 主文件 主算法 主輔助 主文件 主文件 主文件 main.ist 主文件 主日誌 主要批次 主文件 主輸出 **main.pdf** **main.tex** 主目錄
我想 rm
main.*
除main.tex和main.pdf文件之外的所有文件。我試過
rm main.* !("main.tex","main.pdf")
了,但沒有奏效,main.*
無一例外地刪除了所有。有任何想法嗎?
!("main.tex","main.pdf")
匹配任何不是的main.tex,main.pdf
,所以可能是目錄中的所有文件。需要注意的關鍵是,它的
!(...)
行為類似於*
,因為它本身匹配任何不是內部事物之一的東西。而分隔符是|
,不是,
。所以,
main.!(tex|pdf)
應該工作。或者!(main.tex|main.pdf)
,如果您想刪除除這兩個文件之外的所有文件,而不僅僅是名稱以 . 開頭的文件main.
。看: