本章節主要介紹關於linux通配符的用法,熟練運用通配符可以提高工作效率並且可以簡化一些繁瑣的處理步驟。
touch a a6.log abc.log ac.txt b c c5.txt x.log A
代表任意多個字符
例:查詢以".log"結尾的文件 ll *.log
代表任意單個字符
例:只查詢a、b、c ll ?
代表“[”和“]”之間的某一個字符,比如[0-9]可以代表0-9之間的任意一個數字,[a-zA-Z]可以代表a-z和A-Z之間的任意一個字母,字母區分大小寫。
例:只查詢字母文件 ll [a-zA-Z]
例:查詢以“.log”結尾且“.log”前只有兩個字符的文件且第二個字符是數字 ll ?[0-9].log
表示匹配結果取反的意思,注意這個通配符必須要在[]中使用
例:查詢不是以“.log”結尾的文件 ll *[^txt]*
表示符合括號內包含的多個文件
例:查詢‘.log’和“.txt”結尾的文件
ll {*.log,*.txt}
注意: “.”這個符合比較特殊,如果匹配的條件加上了該符合那麼說明查詢結果文件就包含帶“.”的文件
例如前面的“^”的例子,如果我這樣查詢“ll *.[^txt]*”,那麼結果就不一樣了
例如:刪除a、b、c和以.txt結尾的文件 rm -f {[abc],*.txt}
當然既然可以查詢當然也可以使用通配符匹配的方式進行移動文件,如果需要在存在很多文件的文件夾中移動某些類型的文件那麼使用通配符匹配的效率就顯而易見了;當時通配符的使用技巧不單單只有這些,有空的可以多去研究。