阅读量:98
Linux中的通配符(wildcards)可以用于在命令行中方便地匹配文件名
-
*:匹配任意长度的任意字符。例如,*.txt表示所有以.txt结尾的文件。 -
?:匹配任意单个字符。例如,ab?d表示以a开头,b后面跟一个任意字符,然后是d的文件。 -
[abc]:匹配方括号内的任意一个字符。例如,[aeiou]表示以a、e、i、o或u开头的文件。 -
[!abc]:匹配不在方括号内的任意一个字符。例如,[!aeiou]表示以b、c、d、e或f开头的文件。 -
{m,n}:匹配大括号内的任意一个字符串。例如,{a,b,c}表示a、b或c。 -
{m,n,p}:匹配大括号内的任意多个字符串。例如,{a,b,c}{1,2}表示aa、ab、ac、ba、bb或bc。 -
* *:匹配任意数量的任意字符。例如,a* *表示以a开头,后面跟任意数量的任意字符,再后面跟任意数量的任意字符的文件。 -
? *:匹配一个任意字符,后面跟任意数量的任意字符。例如,? *表示以任意字符开头,后面跟任意数量的任意字符的文件。 -
* ?:匹配任意数量的任意字符,后面跟一个任意字符。例如,* ?表示以任意数量的任意字符开头,后面跟一个任意字符的文件。
以下是一些使用通配符的示例:
- 查找所有
.txt文件:ls *.txt - 查找以
a或b开头的文件:ls [ab]* - 查找以
a、e、i或o开头的文件:ls [aeiou]* - 查找所有以数字开头的文件:
ls [0-9]* - 查找所有以
file开头,后面跟一个或多个数字的文件:ls file[0-9]* - 查找所有以
file开头,后面跟一个或多个数字和一个扩展名为.txt的文件:ls file[0-9]*.txt
通过组合这些通配符,你可以更灵活地匹配文件名。