Linux萬用字元

b10l07發表於2018-01-15

概述

文章主要介紹關於Linux萬用字元的使用方法,熟練使用萬用字元可以提高工作效率並且可以簡化一些繁瑣的處理步驟。
‘*’ 代表任意多個字元

//例:查詢以*.log結尾的檔案
[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之間的任意一個數字,[a-zA-Z]可以代表a-z和A-Z之間的任意一個字母,字母區分大小寫。

//例:只查詢字母檔案
[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”結尾,且“.log”檔案前只有兩個字元的檔案且第二個字元是數字
[marsz@kunlun001 test_tang]$ ll ?[0-9].log
-rw-rw-r-- 1 marsz marsz 0 Jan 15 14:29 a6.log

'^'表示匹配結果取反的意思,注意這個萬用字元必須要在[]中使用

//例:查詢以不是‘.log’結尾的檔案
[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

‘{}’表示符號括號內包含的多個檔案

查詢以.log和.txt結尾的檔案
[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結尾的檔案
[marsz@kunlun001 test_tang]$ rm -rf {[abc],*.txt}

相關文章