温馨提示×

bash的通配符在linux下如何匹配

小樊
81
2024-12-27 15:06:37
栏目: 智能运维

在Linux下,Bash的通配符用于匹配文件名或路径

  1. *:匹配任意长度的任意字符,包括零个字符。例如,*.txt将匹配所有txt文件。
  2. ?:匹配任意单个字符。例如,a?b将匹配abacb
  3. [char1,char2]:匹配方括号内的任意一个字符。例如,[abc]将匹配abc
  4. [^char]:匹配不在方括号内的任意一个字符。例如,[^abc]将匹配除abc之外的任何字符。
  5. {char1,char2}:匹配大括号内的任意一个字符或字符组合。例如,{a,b}将匹配ab
  6. {char1,char2,char3,...}:匹配大括号内的任意一个或多个字符。例如,{a,b,c}将匹配abc
  7. ~:匹配当前用户的主目录。例如,~将匹配/home/username
  8. -:表示文件名或路径中的多个连续字符的省略。例如,file-*.txt将匹配file-abc.txtfile-def.txt等。
  9. .:匹配当前目录。
  10. ..:匹配上一级目录。

这些通配符可以与/一起使用,用于在命令行中搜索文件或目录。例如,要查找当前目录及其子目录中的所有.txt文件,可以使用以下命令:

find . -type f -name "*.txt"

0