📜  grep 通配符 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:31:04.391000             🧑  作者: Mango

grep 通配符 - Shell-Bash

grep 是 Linux 命令行中最常用的文本搜索工具之一。它可以从文件或者输入流中查找指定模式的行,并将匹配到的行输出到标准输出。grep 支持在查找模式时使用正则表达式,同时也支持通配符。

通配符

通配符是一种通用的符号,用于匹配一组或多组字符或字符串,包括 *?[]

*

星号 * 是最常见的 Shell 通配符。它可以匹配任意数量的任何字符,包括空白字符。例如:

$ ls | grep "*.txt"

这个命令会查找当前工作目录下所有扩展名为 .txt 的文件。

?

问号 ? 号是另一个常用的通配符,它可以匹配任意单个字符。例如:

$ ls | grep "b?.txt"

这个命令会查找当前工作目录下所有扩展名为 b?.txt 的文件,其中 ? 可以是任意字符。

[]

方括号 [] 号用于匹配指定范围内的任意单一字符。例如:

$ ls | grep "file[123].txt"

这个命令会查找当前工作目录下以 file 开头,后面跟着一个数字 12 或者 3,最后以 .txt 结尾的文件。

组合通配符

通配符还可以组合使用,包括 * 号可以和 ? 或者 [] 号一起使用,例如:

$ ls | grep "file[1-9]??.txt"

这个命令会查找当前工作目录下以 file 开头,后面跟着一个数字 19,后面再跟着两个任意字符,最后以 .txt 结尾的文件。

结论

通配符可以在 grep 命令中灵活使用,从而实现更加精准的文本搜索。熟练掌握通配符的使用方法,可以提高 Shell 脚本编写的效率。