linux下bash的通配符介绍
在bash shell环境下,我们可用通配符来简化命令输入。
?,匹配任意单个字符。
*,匹配任意字符串。
[set],匹配set中的任意字符。[!set]是取反操作,匹配不在set中的任意字符,如:
[a-z] 匹配所有小写字符
[0-9] 匹配所有数字
[akz] 匹配a,k,z三个字符
[.,;] 匹配句点,逗号和分号
[!abc] 匹配除a,b,c之外的所有字符
下面是几个命令示例:
hao32@localhost:~$ ls *.py #显示当前目录下所有以.py结尾的文件
hao32@localhost:~$ ls *.[cho] #显示当前目录下所有以c,h,o结尾的文件
hao32@localhost:~$ ls ??? #显示所有文件名为三个字符的文件
大括号”{}”可用于扩展任意字符串,如:
localhost:~/python# echo a{a,b,c}a
aaa aba aca
我们也可用大括号做为通配符使用,如:
hao32@localhost:~$ ls *.{c,h,o} #效果同ls *.[cho]