三剑客之Grep文本过滤命令检索

三剑客之Grep文本过滤命令检索

1、Grep定义

  • grep 命令是一种强大的文本搜索工具,根据用户指定的“模式”对目标文本进行匹配检- 查,打印匹配到的行
  • 由正则表达式或者字符及基本文本字符所编写的过滤条件
  • Global search regular expression and print out the line
  • 全面搜索研究正则表达式并显示出来

2、Grep用法

grep   [匹配条件]   [处理文件]

3、Grep示例

  • 匹配含有字符串 root 的
# grep  root /etc/passwd
  • 匹配以字符串 root 开头
# grep  ^root /etc/passwd
  • 匹配以字符串 root 结尾
# grep  root$ /etc/passwd
  • 匹配单词 root (反斜杠表示转义)
# grep  '\<root\>'  /etc/passwd
  • 忽略大小写问题检索
# grep  root -i /etc/passwd
  • 从文件内容查找不匹配指定字符串的行
# grep  root -v /etc/passwd
  • 打印匹配字符串的行数
# grep  root  -c  /etc/passwd
  • 打印匹配字符串的内容及行号
# grep  root  -n  /etc/passwd
  • 递归搜索某个目录以及子目录下的所有文件
# grep  '\<root\>'  -r  /tmp
  • 查找文件中所有的空行
# grep  ^$ /etc/passwd
  • 使用 -e 参数查找多个模式
# grep  -e root  -e test  /etc/passwd
  • 使用 -E 参数表示正则表达式
# grep  -E  "root|ROOT"  /etc/passwd
  • 使用 -B 参数输出匹配行的前5行
# grep  -B  5  "^test"  /etc/passwd
  • 使用 -A 参数输出匹配行的后5行
# grep  -A  5  "^root"  /etc/passwd
  • 使用 -C 参数输出匹配行的前后各5行
# grep  -C  5  "^test"  /etc/passwd
  • 匹配字符串 ” t 开头+ 中间四个字母+t 结尾”
# grep  't....t'  /etc/passwd
  • 匹配字符串 ” t 开头+ 中间两个字母+t 结尾”
# grep  't..t'  /etc/passwd
  • 匹配字符串 ” t 开头”
# grep  't...'  /etc/passwd
  • 匹配字符串 ” t 结尾”
# grep  '...t'  /etc/passwd

grep中字符的匹配次数

*        #其前面的字符可以出现任意次,即 [0-任意次]
\?       #其前面的字符可有可无,即 [0-1次]
\+       #其前面的字符至少出现一次,即 [1-任意次]
\{n\}    #其前面的字符出现n次,即 [n次]
\{m,n\}  #其前面的字符 [最少出现m次,最多出现n次]
\{0,n\}  #其前面的字符 [0-n次]
\{m,\}   #其前面的字符 [至少m次]
\(xy\)\{n\}xy  #其前面的字符[n次]
.*   #关键字之间匹配任意字符

猜你喜欢

转载自blog.csdn.net/sunny_future/article/details/80306091