在我的shell bash中,我必须选择以ab或开头的文件xyz,而不是以.jpg或结尾.gif
这是我做的,但它不起作用:
$ echo ab*[!.jpg] ab*[!.gif] xyz*[!.jpg] xyz*[!.gif]
使用bash的扩展glob语法:
$ touch {ab,xyz}1234.{jpg,gif,txt,doc}
$ shopt -s extglob
$ echo @(ab|xyz)!(*@(.jpg|.gif))
ab1234.doc ab1234.txt xyz1234.doc xyz1234.txt
Run Code Online (Sandbox Code Playgroud)
感叹号用于否定,@符号用于或.
参考文献: