linux-grep常用正则表达式,过滤文本内容

正则表达式

正则表达式就是一套处理大量的字符串而定义的规则和方法。

通过正则表达式这些特殊字符号,可以快速的过滤、替换需要的内容。

基础正则表达式(Basic regular expression)

1) ^ :例如 ^word 以word开头的内容

2)$ :例如 word$ 以word结尾的内容

3)^$ :空行

4). :表示且只能代表任意一个字符(当前目录,加载文件)

5)\ :转移字符,让有着特殊身份的字符,变回原来的字符。

6)* :重复0个或多个前面的一个字符,不代表所有。

7).* :匹配所有的字符。^.* 任意多个字符开头。

8)[abc] :匹配字符集合内任意一个字符[a-z]

9)[^abc] :^在中括号表示非,表示不包含a或者b或者c

10) :前一个字符,重复n到m次

:至少N次,多了不限。

:N次

{,m} :最多m次,少了不限。

注意:grep 要对 \{\} ,egrep (grep -E )不需要转义

grep 命令:

-v 排除匹配的内容

-E 支持扩展的正则表达式

-i 忽视大小写

-o 只显示匹配的内容

--color=auto 显示匹配颜色

-n 显示行号

测试

测试内容:

word1

word2word3word4word5

word1word1word1word1

ppppppp

ptp

获取空行(加上-n查看空行是哪几行):

grep -E -n '^$' /tmp/1.txt

结果:

5:

获取以w开通的行:

grep --color=auto -E '^w' /tmp/1.txt

结果:

word1

word2word3word4word5

word1word1word1word1

获取以1为结尾的行:

grep --color=auto -E "1$" /tmp/1.txt

结果:

word1

word1word1word1word1

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180723A1TYY400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券