2011-10-24 213 views

回答

13

可以執行以下操作:

rm [^IN]* 

[^IN]是匹配的任何字符以外IN圖案 - 該語法在bash的手冊的Pattern Matching部分中描述。

+0

簡單! – LordDoskias

+0

+1也在bash中:'shopt -s extglob; rm!([IN] *)'當你想要排除的文件列表更加複雜時,這更有用。 –

1

另一種方式:

find . -maxdepth 1 -type f -name "[^NI]*" -delete 

顯然,這種選擇是更糟糕;)在其最好的

+1

** 1)**他要求提供文件*不是*以I/N **開始2)**除非您添加'maxdepth' ** 3)**'find'是遞歸的,您可以使用'-delete'標誌,而不是'-exec rm' :) – Martin

+0

這將遞歸到子目錄中,OP僅需要當前目錄。 – tripleee

+0

@Martin對不起,你好吧;) – vicentazo

相關問題