📅  最后修改于: 2023-12-03 15:31:04.391000             🧑  作者: Mango
grep
通配符 - Shell-Bashgrep
是 Linux 命令行中最常用的文本搜索工具之一。它可以从文件或者输入流中查找指定模式的行,并将匹配到的行输出到标准输出。grep
支持在查找模式时使用正则表达式,同时也支持通配符。
通配符是一种通用的符号,用于匹配一组或多组字符或字符串,包括 *
,?
和[]
。
*
号星号 *
是最常见的 Shell 通配符。它可以匹配任意数量的任何字符,包括空白字符。例如:
$ ls | grep "*.txt"
这个命令会查找当前工作目录下所有扩展名为 .txt
的文件。
?
号问号 ?
号是另一个常用的通配符,它可以匹配任意单个字符。例如:
$ ls | grep "b?.txt"
这个命令会查找当前工作目录下所有扩展名为 b?.txt
的文件,其中 ?
可以是任意字符。
[]
号方括号 []
号用于匹配指定范围内的任意单一字符。例如:
$ ls | grep "file[123].txt"
这个命令会查找当前工作目录下以 file
开头,后面跟着一个数字 1
,2
或者 3
,最后以 .txt
结尾的文件。
通配符还可以组合使用,包括 *
号可以和 ?
或者 []
号一起使用,例如:
$ ls | grep "file[1-9]??.txt"
这个命令会查找当前工作目录下以 file
开头,后面跟着一个数字 1
到 9
,后面再跟着两个任意字符,最后以 .txt
结尾的文件。
通配符可以在 grep
命令中灵活使用,从而实现更加精准的文本搜索。熟练掌握通配符的使用方法,可以提高 Shell 脚本编写的效率。