1、grep命令简介
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
选项
选项 | 描述 |
---|---|
-a | 不要忽略二进制数据。 |
-A<显示列数> | 除了显示符合范本样式的那一行之外,并显示该行之后的内容。 |
-B | 除了显示符合范本样式的那一行之外,并显示该行之前的内容。 |
-b | 显示符合范本样式的那一行,以及字符偏移量。 |
-c | 计算符合范本样式的列数。 |
-C<显示列数>或-<显示列数> | 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。 |
-d<进行动作> | 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作。 |
-e<范本样式> | 指定字符串作为查找文件内容的范本样式。 |
-E | 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。 |
-f<范本文件> | 指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式。 |
-F | 将范本样式视为固定字符串的列表。 |
-G | 将范本样式视为普通的表示法来使用。 |
-h | 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。 |
-H | 在显示符合范本样式的那一列之前,标示该列的文件名称。 |
-i | 忽略字符大小写的差别。 |
-l | 列出文件内容符合指定的范本样式的文件名称。 |
-L | 列出文件内容不符合指定的范本样式的文件名称。 |
-n | 在显示符合范本样式的那一列之前,标示出该列的编号。 |
-q | 不显示任何信息。 |
-R/-r | 此参数的效果和指定“-d recurse”参数相同。 |
-s | 不显示错误信息。 |
-v | 反转查找。 |
-w | 只显示全字符合的列。 |
-x | 只显示全列符合的列。 |
-y | 此参数效果跟“-i”相同。 |
-o | 只输出文件中匹配到的部分。 |
2、示列
1 | grep 'test' testfile.txt # 从文件中查找匹配'test'的的内容,如可为'testaa','atest'乖乖 |
1 | grep --color "test" test.txt # 加上着色 |
以下是 grep 与正则表达式的结合
1 | grep -n 't[ae]st' test.txt |
其它用法
1 | # 在文件中搜索一个单词,命令会返回一个包含“match_pattern”的文本行: |