(31)grep命令详解:查找文件内容

1.grep命令用于不需要列出文件的全部内容,而是从文件中找到包含指定信息的那些行。
  grep命令能够在一个或多个文件中,搜索某一特定的字符模式(也就是正则表达式),此模式可以是单一的字符、字符串、单词或句子。
  正则表达式是描述一组字符串的一个模式,正则表达式的构成模仿了数学表达式,通过使用操作符将较小的表达式组合成一个新的表达式。正则表达式可以是一些纯文本文字,也可以是用来产生模式的一些特殊字符。为了进一步定义一个搜索模式,grep 命令支持如表 1 所示的这几种正则表达式的元字符(也就是通配符)。

  c* 将匹配 0 个(即空白)或多个字符 c(c 为任一字符)。
  . 将匹配任何一个字符,且只能是一个字符。
  [xyz] 匹配方括号中的任意一个字符。
  [^xyz] 匹配除方括号中字符外的所有字符。
  ^ 锁定行的开头。
  $ 锁定行的结尾。  

  需要注意的是,在基本正则表达式中,如通配符 *、+、{、|、( 和 )等,已经失去了它们原本的含义,而若要恢复它们原本的含义,则要在之前添加反斜杠 ,如 *、+、{、|、( 和 )。

  grep 命令是用来在每一个文件或中(或特定输出上)搜索特定的模式,当使用 grep 时,包含指定字符模式的每一行内容,都会被打印(显示)到屏幕上,但是使用 grep 命令并不改变文件中的内容。

  grep 命令的基本格式如下:
  [root@localhost ~]# grep [选项] 模式 文件名

  这里的模式,要么是字符(串),要么是正则表达式。

  grep 命令常用选项及含义
  -c 仅列出文件中包含模式的行数。
  -i 忽略模式中的字母大小写。
  -l 列出带有匹配行的文件名。
  -n 在每一行的最前面列出行号。
  -v 列出没有匹配模式的行。
  -w 把表达式当做一个完整的单字符来搜寻,忽略那些部分匹配的行。
  注意,如果是搜索多个文件,grep 命令的搜索结果只显示文件中发现匹配模式的文件名;而如果搜索单个文件,grep 命令的结果将显示每一个包含匹配模式的行。

原文地址:https://www.cnblogs.com/xinghen1216/p/11316925.html