grep
介绍
grep 命令的由来可以追溯到 UNIX 诞生的早期,在 UNIX 系统中,搜索的模式(patterns)被称为正则表达式(regular expressions),为了要彻底搜索一个文件,有的用户在要搜索的字符串前加上前缀 global(全面的),一旦找到相匹配的内容,用户就像将其输出(print)到屏幕上,而将这一系列的操作整合到一起就是 global regular expressions print,而这也就是 grep 命令的全称。
通配符
| 通配符 | 功能 |
|---|---|
| c* | 将匹配 0 个(即空白)或多个字符 c(c 为任一字符) |
| . | 将匹配任何一个字符,且只能是一个字符 |
| [xyz] | 匹配方括号中的任意一个字符 |
| [^xyz] | 匹配除方括号中字符外的所有字符 |
| ^ | 锁定行的开头 |
| $ | 锁定行的结尾 |
在基本正则表达式中,如通配符 *、+、{、|、( 和 )等,已经失去了它们原本的含义,而若要恢复它们原本的含义,则要在之前添加反斜杠 \,如 *、+、{、|、( 和 )
当使用 grep 时,包含指定字符模式的每一行内容,都会被打印(显示)到屏幕上
如果是搜索多个文件,grep 命令的搜索结果只显示文件中发现匹配模式的文件名;而如果搜索单个文件,grep 命令的结果将显示每一个包含匹配模式的行
基本格式
grep [选项] 模式 文件名
命令选项
| -c | 仅列出文件中包含模式的行数 |
|---|---|
| -i | 忽略模式中的字母大小写 |
| -l | 列出带有匹配行的文件名 |
| -n | 在每一行的最前面列出行号 |
| -v | 列出没有匹配模式的行 |
| -w | 把表达式当做一个完整的单字符来搜寻,忽略那些部分匹配的行 |

浙公网安备 33010602011771号