bash的基础特性(六)
bash的基础特性:
globbing:文件名的通配,要以整体文件名匹配,非部分文件名(是一种文件的匹配模式)
匹配模式:元字符;
*:匹配任意长度的任意字符;例如:pa*=pa、pab、passwed;*pa*=apa、paa、addpapdd;
?:匹配任意单个字符;例如:pa?=paa,pab;
[]:匹配指定范围内的任意单个字符;
有几种特殊格式:所有字母(不区分大小写)[a-z],所有数字 [0-9],所有字母跟数字 [a-z0-9];
[[:upper:]]:表示所有大写字母;
[[:lower:]]:表示所有小写字母;
[[:alpha:]]:表示所有字母;
[[:digit:]]:表示所有数字;
[[:alnum:]]:表示所有字母和数字;
[[:space:]]:表示所有空白字符;
[[:punct:]]:表示所有标点符号;
例如:pa+数字=pa[0-9]
[^]:匹配任意范围外的任意单个字符;
[^[:upper:]]:表示所有非大写字符;
[^0-9],[^[:digit:]]:表示所有非数字字符;
[^[:alnum:]]:表示所有非正常字符;
例如:1、显示/var目录下所有以l开头,以小写字母结尾,且中间出现一位任意字符的文件或目录;
写法:ls -d /var/l?[[:lower:]];
显示/etc目录下,以任意一位数字开头,且以非数字结尾的文件或目录;
写法:ls -d /etc/[0-9]*[^0-9]
显示/etc目录下,以非字母开头,后面缀一个字母及其他任意长度任意字符的文件或目录;
写法:ls -d /etc/[^a-z][a-z]*
复制/etc目录下,所有以m开头,以非数字结尾的文件或目录至/tmp/magedu.com目录下;
写法:先创建目录mkdir /tmp/magedu.com,然后复制文件 cp -r /etc/m*[^0-9] /tmp/magedu.com/
复制/usr/share/man目录下,所有以man开头,后跟一个数字结尾的文件或目录至/tmp/man目录下;
写法:先创建目录mkdir /tmp/man,然后复制文件:cp -r /usr/share/man/man[0-9] /tmp/man
复制/etc目录下,所有以.conf结尾,且以m,n,r,p开头的文件或目录至/tmp/conf.d/目录下
写法:先创建目录mkdir /tmp/conf.d,然后复制文件:cp -r /etc/[mnrp]*.conf /tmp/conf.d/
浙公网安备 33010602011771号