linux文本处理工具之grep

时间:2021-03-15 08:57:08
常用的grep选项

-c 只输出匹配行的计数。// 这条有时候很有用, 不需要再 | wc -l

-i 不区分大小写(只适用于单字符)。

-h 查询多文件时不显示文件名。

-l 查询多文件时只输出包含匹配字符的文件名。

-n 显示匹配行及行号。

-s 不显示不存在或无匹配文本的错误信息。

-v 显示不包含匹配文本的所有行。

例子

grep -v "Sort" tab2     显示不包含匹配文本的所有行

grep -n "Sort" tab2     显示匹配行及行号

grep -c "Sort" tab2     只输出匹配行的计数

精确匹配:grep "01">" tab2

grep -in "code" tab2    忽略大小写

多次过滤

grep -in "code" tab2 | grep "02"

补充说明,grep 家族还包括fgrep和egrep。fgrep是fix grep, 允许查找字符串而不是一个模式,运算速度快,适合于从大量数据中进行检索;egrep是扩展grep,支持基本及扩展的正则表达式,可用()及|等,但不支持q模式范围的应用及与之相对应的一些更加规范的模式。

echo aAA123bbb |egrep '[0-9]*'
echo AAA123bbb | egrep -i '^a'