您的位置:首页 > 运维架构 > Linux

linux通配符整理

2014-02-23 11:50 267 查看
通配符:bash支持文件通配, globbing
*:任意长度的任意字符;
?: 任意单个字符;
[]: 指定范围内的任意单个字符;[a-z]
[0-9]: 所有的数字
[a-z]:所有的小写字母
[A-Z]:所有的大写字母
[a-zA-Z]:所有的字母
[0-9a-zA-Z]:所有的数字和字母

不区分大小写;

字符集合:
[:digit:] : 所有数字, 相当于0-9
[0-9], [[:digit:]]
[:lower:]:所有的小写字母
[:upper:]:所有的大写字母
[:alpha:]: 所有的字母
[:alnum:]: 相当于[0-9a-zA-Z]
[:space:]: 空白字符
[:punct:]:所有标点符号
[^]:脱字符,取反,指定范围外的任意单个字符,[^0-9]

例子:
1、复制/etc目录下以p开头,中间跟了任意字符,并以d结尾的文件至/tmp目录中;
2、复制/etc/目录下以p开头,中间跟了4个任意字符,并以d结尾的文件至/tmp/a目录中;如果a不存在,先创建出来;
3、复制/etc/目录下以任意一位数字开头,并以非数字结尾的文件至/tmp/b目录中;
4、复制/etc/目录下以非字母开头,后面跟了一个字母及其它任何长度字符的文件至/tmp/c目录中;

答案:
1、# cp -r /etc/p*d /tmp
2、# mkdir /tmp/a; cp -r /etc/p????d /tmp/a/
3、# mkdir /tmp/b; cp -r /etc/[0-9]*[^0-9] /tmp/b/
4、# mkidr /tmp/c; cp -r /etc/[^a-zA-Z][a-zA-Z]* /tmp/c/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux bash 通配符