grep命令

命令常用参数:

  • -v --revert-match #显示不包含匹配文本的所有行。
  • -E --extended-regexp #将样式为延伸的普通表示法来使用
  • -n --line-number #在显示符合样式的那一行之前,标示出该行的列数编号
  • -i --ignore-case #忽略字符大小写的差别

pattern正则表达式主要参数:

  • \ :忽略正则表达式中特殊字符的原有含义。
  • ^:匹配正则表达式的开始行。
  • $ :匹配正则表达式的结束行。
  • \<:从匹配正则表达 式的行开始。
  • \>:到匹配正则表达式的行结束。
  • [ ]:单个字符,如[A]即A符合要求 。
  • [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
  • .: 所有的单个字符,代表『一定有一个任意字节』的意思
  • *:有字符,长度可以为0。代表『重复前一个字节, 0 到无穷多次』的意思,为组合形态

示例:

  • grep '[a-z]\{5\}' 显示所有包含每个字符串至少有5个连续小写字符的字符串的行
  • grep '\ 匹配以man开头的字母如'manic'和'man',但不是'Batman'
  • grep 'man\>' 匹配以man结尾的字母如'Batman'和'man',但不是'manic'
  • grep '^man' 匹配的字符串在行首,首行字母以man开头
  • grep 'man$' 匹配的字符串在行尾部,以man结尾
  • grep 'w.*n' 匹配w 开头与 n 结尾的字串,当中的字节可有可无。例如woman、warn、super word man
  • grep XXX |less 显示的行用less命令打开

常用示例:

  • ls -l |grep -v '.log$' 匹配所有不以.log结尾的行
  • ls -l |grep '.log$' 匹配所有以.log结尾的行
  • tail -f 日志文件 |grep -E '高亮的关键字1|高亮的关键字2|…|高亮的关键字N' --color=auto\
  • grep "要查找的内容" *.log --color

你可能感兴趣的:(grep命令)