在Linux中,通配符(wildcards)可以幫助我們進行文件分類。以下是一些常用的通配符和它們的使用方法:
*
:匹配任意長度的任意字符。例如,*.txt
可以匹配所有擴展名為 .txt
的文件。
?
:匹配任意單個字符。例如,ab?d
可以匹配 abcd
、abtd
等。
[...]
:匹配方括號內的任意一個字符。例如,[a-z]
可以匹配所有小寫字母;[A-Z]
可以匹配所有大寫字母;[0-9]
可以匹配所有數字。
{...}
:匹配大括號內的任意一個字符串。例如,{a,b,c}
可以匹配 a
、b
或 c
。
*
和 ?
可以組合使用。例如,a*c?d
可以匹配 acd
、acbd
等。
**
:遞歸匹配。例如,**/txt
可以匹配所有擴展名為 .txt
的文件,無論它們在哪個目錄下。
以下是一些使用通配符進行文件分類的例子:
查找所有 .txt
文件:find . -name "*.txt"
查找所有以 a
開頭的文件:ls a*
查找所有長度為3的文件名:ls ???
查找所有小寫字母開頭的文件:ls [a-z]*
查找 dir1
和 dir2
目錄下的所有 .txt
文件:find dir1 dir2 -name "*.txt"
查找當前目錄及其子目錄下的所有 .txt
文件:find . -name "*.txt"
通過這些例子,你可以看到如何使用Linux通配符進行文件分類。