Linux的Bash特性之文件名通配

bash特性之文件名通配(globbing):
匹配模式:元字符
:匹配任意长度的任意字符
pa
, pa, pa, pa
pa, paa, passwd
?:匹配任意单个字符
pa?, ??pa, p?a, p?a?
pa, paa, passwd
[]:匹配指定范围内的任意单个字符
有几种特殊格式:
[a-z], [A-Z], [0-9], [a-z0-9]
[[:upper:]]:所有大写字母
[[:lower:]]:所有小写字母
[[:alpha:]]:所有字母
[[:digit:]]:所有数字
[[:alnum:]]:所有的字母和数字
[[:space:]]:所有空白字符
[[:punct:]]:所有标点符号
pa[0-9][0-9], 2[0-9][0-9]
[^]:匹配指定范围外的任意单个字符
[1]
[^0-9]
[2]
示例:
显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现一位任意字符的文件或目录;
ls -d /var/l?[[:lower:]]

[root@localhost ~]# ls -d /var/l?[[:lower:]]
/var/lib  /var/log
[root@localhost ~]# 

显示/etc目录下,以任意一位数字开头,且以非数字结尾的文件或目录;
ls -d /etc/[0-9]*[^0-9]

[root@localhost ~]# ls -d /etc/[0-9]*[^0-9]
ls: cannot access /etc/[0-9]*[^0-9]: No such file or directory
[root@localhost ~]# 

复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

[root@localhost ~]# cp /etc/p*[^0-9] /tmp/mytest1/
cp: omitting directory ‘/etc/pam.d’
cp: omitting directory ‘/etc/pki’
cp: omitting directory ‘/etc/plymouth’
cp: omitting directory ‘/etc/pm’
cp: omitting directory ‘/etc/popt.d’
cp: omitting directory ‘/etc/postfix’
cp: omitting directory ‘/etc/ppp’
cp: omitting directory ‘/etc/prelink.conf.d’
cp: omitting directory ‘/etc/profile.d’
cp: omitting directory ‘/etc/python’
[root@localhost ~]# ll /tmp/mytest1/
total 28
-rw-r--r--. 1 root root 1240 May 19 18:27 passwd
-rw-r--r--. 1 root root 1199 May 19 18:27 passwd-
-rw-r--r--. 1 root root 2872 May 19 18:27 pinforc
-rw-r--r--. 1 root root  233 May 19 18:27 printcap
-rw-r--r--. 1 root root 1819 May 19 18:27 profile
-rw-r--r--. 1 root root 6545 May 19 18:27 protocols
[root@localhost ~]# 


  1. :upper: ↩︎

  2. :alnum: ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值