grep的使用及正则表达式
admin
2023-02-25 05:00:06
0

1.常用选项:

       -E :开启扩展(Extend)的正则表达式。

  -i :忽略大小写(ignore case)。

  -v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。

  -n :显示行号

  -w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker

  -c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。

  -o :只显示被模式匹配到的字符串。

  --color :将匹配到的内容以颜色高亮显示。

  -A  n:显示匹配到的字符串所在的行及其后n行,after

  -B  n:显示匹配到的字符串所在的行及其前n行,before

  -C  n:显示匹配到的字符串所在的行及其前后各n行,context

2.常用表达式参数

\btom\b    “\b"中间tom代表是一个单词
\d              表示一个数字
\d{2}-\d{8}。 这里\d后面的{2}({8})的意思是前面\d必须连续重复匹配2次(8次)。
\s               匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。
\w       匹配字母或数字或下划线或汉字等。
.          匹配除换行符以外的任意字符
\d        匹配数字
\b        匹配单词的开始或结束
^         匹配字符串的开始  //^和$匹配的是行
$         匹配字符串的结束

^\d{5,12}$    填写的QQ号必须为5位到12位数字

备注:"\d" 等这些字符只有在perl{正则支持的相对完整} 中能够使用

转义): 
    \字符 
重复):
    *            重复零次或更多次
    +            重复一次或更多次
    ?            重复零次或一次
    {n}         重复n次
    {n,}        重复n次或更多次
    {n,m}     重复n到m次

基础用法

cat 123.txt |grep '\bno\b'
#\b 牟定词首 或者词尾,上面表示只匹配no字符,多一个都不行
cat 123.txt |grep '^root.400$'
#^牟定行首,$牟定行尾,表示匹配以root开头,以400结尾的行
echo "111222333"|grep -o 1.
2
#只显示匹配到的词
grep的使用及正则表达式

cat /etc/passwd|grep -n -A 1 '^root.*'
#显示root行,及下一行,还有行号,-A换成-B就是上一行,换成-C就是上下各1行。
grep的使用及正则表达式

匹配数字
echo "ABC123abc"|grep -o [0-9]|xargs
#匹配出数字,由于grep特性,显示的数字会竖排显示,管道送给xargs处理一下

cat cs/testfile.txt |grep -x -n test #-x只显示完整匹配一行的,-n 加上行号效果和 sed -n '/^test$/=' 差不多
grep的使用及正则表达式

echo "2002 1945 1644 1892 1946"|grep -P '\b(20|19)[0-9]{2}\b'
#表示以20或者19开头后面两个字符为数字,{2}的意思是前面[0-9]必须匹配到两次,至少匹配到的是4位数,但是两个\b牟定的词首和词尾所以只能的是4位数
grep的使用及正则表达式

高级用法

echo "http://www.ylc520.com/"|grep -oP '.+(?=://)'
#输出结果 http, 表示以://为定界 往前匹配,.+ 表示任意字符出现1次或者多次
echo "http://www.ylc520.com/"|grep -oP '(?<=://).+'
#输出 www.ylc520.com/ ,表示以://为定界 往后匹配,.+ 表示任意字符出现1次或者多次
echo "http://www.ylc520.com/"|grep -oP '(?<=www.).+(?=.com)'
#输出结果 ylc520 表示以www. 为定界往后匹配,同时以.com为定界往前匹配,.*匹配任意字符任意长度

grep -l -r 'test' cs/
#查找cs文件夹里包含'test'字符的文件。-l显示匹配出的文件,不是字符 加-r可以查找文件夹

常用正则表达式

URL地址           https?://[-\w.]+(:\d+)?(/([\w/_.]*)?)?
完整的URL地址    https?://(\w*:\w*@)?[-\w.]+(:\d+)?(/([\w/_.]*(\?\S+)?)?)?
图片简单URL地址     https?://[\w/.-\\]+\.((gif)|(jpg)|(png)|(bmp))
电子邮件地址          (\w+\.)*\w+@(\w+\.)+[A-Za-z]+
IP地址                      (((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))
HTML注释            

相关内容

热门资讯

伊朗确认前往美国参加世界杯:将... 当地时间5月6日,伊朗国家足球队主教练在接受采访时表示,伊朗国家足球队将于美加墨世界杯开始前14天抵...
雷达、机库、营房、燃料库、飞机... 据《华盛顿邮报》5月6日报道,通过卫星影像分析发现,自2月28日战事爆发以来,伊朗空袭已在中东美军军...
从买买买到租租租,“租用一代”... “五一”假期还在路上,年轻人已经“租”起来了。 “租三天,不到300块钱。”五一放假前一周,清清已给...
【品牌】摩托罗拉大折叠屏新机定... 此前联想预热将于5月19日19点举行联想天禧AI一体多端全场景新品超能之夜活动,届时将带来多款新品,...
常州欣隽益取得接线端子用快速冲... 国家知识产权局信息显示,常州欣隽益科技有限公司取得一项名为“接线端子用快速冲切装置”的专利,授权公告...
美媒:特朗普在结束伊朗战争问题... 据“国会山”网站5月6日报道,周二晚间,美国总统特朗普突然宣布终止旨在打破伊朗对霍尔木兹海峡掌控的军...
和创硅材料取得熔融石英制品擦洗... 国家知识产权局信息显示,东海县和创硅材料有限公司取得一项名为“一种熔融石英制品的擦洗脱泥装置”的专利...
美商务部长再就爱泼斯坦案接受国... 5月6日,美国商务部长卢特尼克“自愿”就其与爱泼斯坦的关系接受美国国会众议院监督与政府改革委员会的问...
“五一”小长假黄金零售市场新变... 【大河财立方 记者 孙凯杰】 “五一”小长假,黄金价格出现一波短暂调整,线下黄金零售市场热度如何?5...
以军3周来首次袭击黎巴嫩首都 据以色列总理内塔尼亚胡和国防部长卡茨当地时间5月6日晚发表的联合声明,以军当天对黎巴嫩首都贝鲁特南郊...