Bash表达式列出以模式开头和结尾的文件

Jos*_*wel 4 bash shell

在我的shell bash中,我必须选择以ab或开头的文件xyz,而不是以.jpg或结尾.gif

这是我做的,但它不起作用:

$ echo ab*[!.jpg] ab*[!.gif] xyz*[!.jpg] xyz*[!.gif]

use*_*001 6

使用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)

感叹号用于否定,@符号用于或.

参考文献: