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/

 

 

posted on 2022-10-11 10:56  暮夜~  阅读(58)  评论(0)    收藏  举报

导航