2011-10-24 217 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

相关问题