
> * 表示匹配任意字符(0个、1个或多个字符 )
? 表示匹配任意一个字符
[] 表示匹配[]范围内的任意一个字符
[a-z] ----> a b c d ... z
[A-Z] ----> A B C D ... Z
[0-9] ----> 0 1 2 3 .. 9
[a-zA-Z0-9] ----> a..z A..Z 0..9
a[1-3] ----> a1 a2 a3
[1-3][a-f] ----> 1a 1b 1c 1d 1e 1f 2a 2b 2c 2d 2e 2f 3a 3b 3c 3d 3e 3f
[1-9][0-9] ----> 10~99
! 表示取反
{} 表示匹配字符串
{1..9} ----> 1 2 3 4 5 6 7 8 9
{a..f} ----> a b c d e f
{aa,bb,cc} ----> aa bb cc
aa{bb,cc,dd} ----> aabb aacc aadd
自己百度下shell通配符(shell元字符)
ls ???.txt 就是列出任意3个字符 后缀是.txt的文件
fi*.txt 就是以fi开头后面任意字符 后缀.txt的 比如fi.txt fia.txt fiaa.txt.....
ls [fi]*.txt 就是以f开头或者i开头,后面任意字符,后缀是.txt的 比如f.txt fa.txt i.txt ia.txt iab.txt....
ls [!fi]* 就是列出当前目录下 不以f或者i开头的所有目录和文件
f{a..d}.txt 就是fa.txt fb.txt fc.txt fd.txt