我正在练习使用通配符今天..这很有趣。
最复杂的事情完全符合我的预期是:
ls [![:digit:]]*[a-z][0-9][0-9][0-9][aA-zZ]*[![:digit:]]
但我实际上并没有设法排除字符串。
我怎样才能只列出文件不包含“测试”?
这是我已经尝试过的一些例子:
ls *!("test")*
ls !("test")
ls !=*"test"*
ls !(*"test"*)
ls *^test*
ls *(^test)*
ls (^test)*
ls !test*
ls !*test*
ls *!test*
ls !{test}
ls !*{test}*
ls *!{test}*
答案1
在重击中:
$ shopt -s extglob
$ touch a b c test
$ ls !(*test*)
a b c
答案2
或者,您可以使用find
以下命令:
find -type f ! -name '*test*'