Linux 通配符用法简介

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/magi1201/article/details/76065370


       通配符用来匹配符合条件的文件名,通配符是完全匹配。ls,find,cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配了。


通配符规则:
 *   代表任意字符(0到多个)
 代表一个字符
[ ]  中间为字符组合,仅匹配其中任一一个字符



ex:

我们示例目录中包含如下5个TXT文件

[zhangqi@localhost nornal]$ ll
total 0
-rw-rw-r--. 1 zhangqi zhangqi 0 Jul 26 22:25 abd.txt
-rw-rw-r--. 1 zhangqi zhangqi 0 Jul 26 22:26 ade.txt
-rw-rw-r--. 1 zhangqi zhangqi 0 Jul 26 22:25 at.txt
-rw-rw-r--. 1 zhangqi zhangqi 0 Jul 26 22:25 a.txt
-rw-rw-r--. 1 zhangqi zhangqi 0 Jul 26 22:25 bcd.txt
[zhangqi@localhost nornal]$ 


ls a*.txt 找以a开头的txt文件

[zhangqi@localhost nornal]$ ls a*.txt
abd.txt  ade.txt  at.txt  a.txt
[zhangqi@localhost nornal]$ 

ls a?.txt 找以a开头且名称长度为两位的txt文件

[zhangqi@localhost nornal]$ ls a?.txt
at.txt
[zhangqi@localhost nornal]$ 

ls a[bcd].txt 找以a开头,且文件名以bcd中任一字符结尾的txt文件

[zhangqi@localhost nornal]$ ls a[bcd].txt
ls: cannot access a[bcd].txt: No such file or directory
[zhangqi@localhost nornal]$ ls a[bct].txt
at.txt
[zhangqi@localhost nornal]$ 

以上可以看出,ls 在使用'[ ]' 通配符时,需要过滤到文件,否则会报错

备注:[] 中的字符串不允许重复,否则系统会报错


ls a[bcd][cde].txt 找以a开头,第二位为bcd中任一位,第三位为cde中任一位的txt文件

[zhangqi@localhost nornal]$ ls a[bcd][cde].txt
abd.txt  ade.txt
[zhangqi@localhost nornal]$ 

备注:对于[] 中连续的字符串可以采用简写的形式,包含首尾字符,中间使用~连接
如 ls a[bcd][cde].txt 可以简写为 ls a[b~d][c~e].txt









猜你喜欢

转载自blog.csdn.net/magi1201/article/details/76065370