搜索工具grep的使用


grep命令简介

grep的全称是global regular expression print,即全局正则表达式打印。它的核心功能是在文件中搜索特定模式的文本,并将包含该模式的行打印出来。grep支持强大的正则表达式语法,这使得它能够灵活匹配各种复杂的文本模式 。

基本用法详解

命令格式

grep [选项] 搜索内容 文件或目录

选项列表

  • −i: 搜索时忽略英文大小写。
  • −n: 在搜索结果前显示行号。
  • −c: 只显示匹配行数,不显示搜索结果。
  • −r:在目录中递归搜索内容。
  • −l:只显示文件名称。
  • −v:反向搜索,搜索不包含指定内容的行。
  • −A n:显示搜索结果及后n行内容。
  • −B n:显示搜索结果及前n行内容。
  • −C n:显示搜索结果及前后n行内容。
  • −E:使用正则表达式匹配文本内容。

使用示例

1、grep −i 搜索内容 文件:在文件中搜索指定内容,忽略英文大小写。

grep

2、grep −n 搜索内容 文件:在文件中搜索指定内容,并在搜索结果前显示行号。

grep

3、grep −v 搜索内容 文件:反向搜索,搜索不包含指定内容的文本行。

grep

4、grep −r 搜索内容 目录:在目录及子目录的文件中递归搜索指定内容。

grep

5、grep −l 搜索内容 目录:在目录内的文件中搜索指定内容,但只显示包含内容的文件名称。

grep

6、grep −A n 搜索内容 文件:在文件中搜索指定内容,并显示搜索结果及后n行的内容。

grep

7、grep −B n 搜索内容 文件:在文件中搜索指定内容,并显示搜索结果及前n行的内容。

grep

8、grep −E 正则表达式 文件或目录:在文件中通过正则表达式搜索指定内容。

8.1、字符串:字符串按原文匹配。

grep

8.2、.(点号):匹配换行符以外的任意字符。

grep
  • .country:匹配在country前有任意字符(换行符除外)的字符串。

8.3、[](方括号):匹配括号内的任意字符。

grep
  • country_[a−f]:匹配在country_后有a−f任意字符的字符串。

8.4、\w:匹配任意字母、数字和下划线。

grep
  • country\w:匹配在country后有大小写字母、数字、下划线中任意一个字符的字符串。

8.5、?(问号):匹配前面的元素零次到一次。“?”采用贪婪算法,会按最大长度匹配。

grep
  • .?country:匹配在country前无字符或任意一个字符(换行符除外)的字符串。

8.5、*(问号):匹配前面的元素零次到多次。“*”采用贪婪算法,会按最大长度匹配。

grep
  • .*country:匹配在country前无字符或多个任意字符(换行符除外)的字符串。

8.6、+(加号):匹配前面的元素一次到多次。“+”采用贪婪算法,会按最大长度匹配。

grep
  • .+country:匹配在country前有一个或多个任意字符(换行符除外)的字符串。

8.7、^(脱字符):匹配一行的行首。

grep
  • ^country:行首为单词country的文本行。

8.8、$(美元符):匹配一行的行尾。

grep
  • "FIXME"$:行尾为单词"FIXME"的文本行。若匹配字符串中有双引号,可以使用单引号引用,也可以使用转义符(\)对双引号转义。

发表评论

评论数量:0