天天看點

linux通配符整理

通配符: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/

     本文轉自ljl_19880709 51CTO部落格,原文連結:http://blog.51cto.com/luojianlong/1362321,如需轉載請自行聯系原作者

繼續閱讀