Bash

在 Bash 中,如何在提供多個異常的同時針對萬用字元 rm 文件?

  • October 28, 2022

我有以下文件列表:

主要.acn
主文件
主算法
主輔助
主文件
主文件
主文件
main.ist
主文件
主日誌
主要批次
主文件
主輸出
**main.pdf** 
**main.tex**
主目錄

我想 rmmain.*main.texmain.pdf文件之外的所有文件。

我試過rm main.* !("main.tex","main.pdf")了,但沒有奏效,main.* 無一例外地刪除了所有。

有任何想法嗎?

!("main.tex","main.pdf")匹配任何不是的main.tex,main.pdf,所以可能是目錄中的所有文件。

需要注意的關鍵是,它的!(...)行為類似於*,因為它本身匹配任何不是內部事物之一的東西。而分隔符是|,不是,

所以,main.!(tex|pdf)應該工作。或者!(main.tex|main.pdf),如果您想刪除除這兩個文件之外的所有文件,而不僅僅是名稱以 . 開頭的文件main.

看:

引用自:https://unix.stackexchange.com/questions/722840