概述
文章主要介紹關于Linux通配符的使用方法,熟練使用通配符可以提高工作效率并且可以簡化一些繁瑣的處理步驟。
‘*’ 代表任意多個字符
//例:查詢以*.log結(jié)尾的文件
[marsz@kunlun001 test_tang]$ ll *.log
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 a6.log
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 abc.log
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 x.log
'?'代表任意單個字符
//例:只查詢a、b、c、A
[marsz@kunlun001 test_tang]$ ll ?
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 a
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 A
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 b
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 c
'[]'代表“[”和“]”之間的某一個字符,比如[0-9]可以代表0-9之間的任意一個數(shù)字,[a-zA-Z]可以代表a-z和A-Z之間的任意一個字母,字母區(qū)分大小寫。
//例:只查詢字母文件
[marsz@kunlun001 test_tang]$ ll [a-zA-Z]
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 a
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 A
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 b
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 c
//例:查詢以“.log”結(jié)尾,且“.log”文件前只有兩個字符的文件且第二個字符是數(shù)字
[marsz@kunlun001 test_tang]$ ll ?[0-9].log
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 a6.log
'^'表示匹配結(jié)果取反的意思,注意這個通配符必須要在[]中使用
//例:查詢以不是‘.log’結(jié)尾的文件
[marsz@kunlun001 test_tang]$ ll *[^.log]
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 a
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 A
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 ac.txt
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 b
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 c
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 c5.txt
‘{}’表示符號括號內(nèi)包含的多個文件
查詢以.log和.txt結(jié)尾的文件
[marsz@kunlun001 test_tang]$ ll {*.log,*.txt}
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 a6.log
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 abc.log
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 ac.txt
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 c5.txt
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 x.log
例:刪除a,b,c和.txt結(jié)尾的文件
[marsz@kunlun001 test_tang]$ rm -rf {[abc],*.txt}