15-grep 简明笔

在文件中搜索模式

grep [optionspattern [file-list]

参数

pattern为正则表达式,file-listgrep要搜索的普通文本文件的路径名列表

选项

-c                    只显示每个文件中包含匹配模式的行数

-v                    显示不包含匹配模式的行

-i                     忽略大小写

-a                    在二进制文件中,以文本文件的方式搜索数据

-o                    仅显示出匹配regexp的内容(用户统计出现在文件中的次数)

-n                    匹配的内容在其行首显示行号

-E                    扩展的grep,即egrep

-color=auto       以特定颜色高亮显示匹配关键字

-A       after的意思, 显示匹配字符串及其后n行的数据

-B       before, 显示匹配字符串及其前n行的数据

-C       context 显示匹配字符串及其前后各num行

-w       接单词搜索,相当于\b。

示例

原文件

 $ cat testa
aaabb
bbbcc
ff-ff
cccdd
dddaa
$ cat testb
aaaaa
bbbbb
ccccc
ddddd
$ cat testc
AAAAA
BBBBB
CCCCC

grep

 $ grep bb testa
aaabb
bbbcc

在testa中搜索包含字符串bb的行

grep -v

 $ grep -v bb testa
ff-ff
cccdd
dddaa

在testa中搜索不包含匹配字符串的行

grep -n

 $ grep -n bb testa
:aaabb
:bbbcc

显示匹配行的行号

grep *

 $ grep bb *
testa:aaabb
testa:bbbcc
testb:bbbbb

搜索多个文件中的匹配项

grep -i

 $ grep -i bb *
testa:aaabb
testa:bbbcc
testb:bbbbb
testc:BBBBB
$ grep -i BB *
testa:aaabb
testa:bbbcc
testb:bbbbb
testc:BBBBB

不区分大小写匹配

grep -c

 $ grep -c bb *
testa:
testb:
testc:

只显示每个文件中匹配的行数

上一篇:PHP反射API


下一篇:用JSON-server模拟REST API(二) 动态数据