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”的文本行: |