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 搜索内容 文件:在文件中搜索指定内容,忽略英文大小写。

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

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

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

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

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

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

8、grep −E 正则表达式 文件或目录:在文件中通过正则表达式搜索指定内容。
8.1、字符串:字符串按原文匹配。

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

- .country:匹配在country前有任意字符(换行符除外)的字符串。
8.3、[](方括号):匹配括号内的任意字符。

- country_[a−f]:匹配在country_后有a−f任意字符的字符串。
8.4、\w:匹配任意字母、数字和下划线。

- country\w:匹配在country后有大小写字母、数字、下划线中任意一个字符的字符串。
8.5、?(问号):匹配前面的元素零次到一次。“?”采用贪婪算法,会按最大长度匹配。

- .?country:匹配在country前无字符或任意一个字符(换行符除外)的字符串。
8.5、*(问号):匹配前面的元素零次到多次。“*”采用贪婪算法,会按最大长度匹配。

- .*country:匹配在country前无字符或多个任意字符(换行符除外)的字符串。
8.6、+(加号):匹配前面的元素一次到多次。“+”采用贪婪算法,会按最大长度匹配。

- .+country:匹配在country前有一个或多个任意字符(换行符除外)的字符串。
8.7、^(脱字符):匹配一行的行首。

- ^country:行首为单词country的文本行。
8.8、$(美元符):匹配一行的行尾。

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