linux grep正则表达式,linux-正则表达式与grep命令
linux-正则表达式与grep命令
一、grep命令
命令
作用
-a
将二进制文件以text文件的方式搜寻数据
-c
计算找到符合搜索内容的行数
-i
忽略大小写
-n
顺便输出行号
-v
反向选择,即找没有搜内容的行
-E
开启扩展的正则表达式
-w
被匹配的文本只能是单词,而不是单词中的某一部分;精准匹配
--color
将匹配到的内容以颜色高亮显示
-A n
显示匹配到的字符串所在的行及其后n行,after
-B n
显示匹配到的字符串所在的行及其前n行,before
-C n
显示匹配到的字符串所在的行及其前后各n行,context
-r
以递归的方式查找指定目录及其子目录中符合条件的文件
grep 可以使用 --color=auto 来将关键字部分使用颜色显示,可以用 alias 设置别名写入 shell 配置文件中。我用的shell 是 zsh,所以在 ~/.zshrc 内加上 alias grep='grep --color=auto' 再以 source ~/.bashrc 来立即生效即可
vim ~/.zshrc
alias grep='grep --color=auto'
source ~/.zshrc
image-20210513163034403
准备文件
image-20210518110629312
匹配 ab
grep 'ab' 1.txt
image-20210518111350932
匹配 ab 同时输出 ab 所在的行号
grep -n 'ab' 1.txt
image-20210518111701176
统计含有 ab 的行数
grep -c 'ab' 1.txt
image-20210518111739680
匹配非 ab,即反选
grep -vn 'ab' 1.txt
image-20210518232337324
匹配时忽略大小写
grep -i 'ab' 1.txt
image-20210518232419385
精准匹配被字符分割的字母单词,而不是其中的一部分
grep -w 'cc' 1.txt
image-20210518232651235
二、正则表达式
1、基础正则表达式(Basic Regular Expression)
符号
作用
*
前一个字符匹配 0 次或任意多次
.
匹配除换行符外的任意一个字符
^
匹配行首。
$
匹配行尾。
[]
匹配中括号中指定的任意一个字符,而且只匹配一个字符。例如.[aoeiu]匹配任意一个元音字母, [0-9] 匹配任意一位数字,[a-z][0-9] 匹配由小写字母和一位数字构成的两位字符
[^]
匹配除中括号中的字符以外的任意一个字符。例如,[^0-9] 匹配任意一位非数字字符,[^a-z] 匹配任意一位非小写字母
\
转义符,用于取消特殊符号的含义
^$
匹配空行;^$匹配空行,不匹配空格
.*
匹配任意字符
^.*
组合符匹配任意多个字符开头的内容
.*$
组合符,匹配任意多个字符结尾的内容
匹配 0 到多个 a 后接 b
grep -n 'a*b' 1.txt
image-20210520085326823
匹配行首为 aab
grep -n '^aab' 1.txt
image-20210520085831889
匹配行尾为 bcc
grep -n 'bcc$' 1.txt
image-20210520090016963
匹配 Ab 或者 ab
grep -n '[Aa]b' 1.txt
image-20210520090912769
匹配非 Aa
grep -n '[^Aa]' 1.txt
image-20210520091154058
匹配 c* 。*匹配前面的字符 0 或多次,可以用转义符 \ 取消 * 的含义
grep -n 'c*' 1.txt
grep -n 'c\*' 1.txt
image-20210520091836590
匹配空行
grep -n '^$' 1.txt
image-20210520092004756
2、扩展正则表达式(Extended Regular Expression)
符号
作用
+
匹配前一个字符1次或多次
?
匹配前一个字符0次或1次
|
表示或者,同时过滤多个字符
()
分组过滤,被括起来的内容表示一个整体
{n,m}
匹配前一个字符最少n次,最多m次
{n,}
匹配前一个字符最少n次
{n}
匹配前一个字符正好n次
{,m}
匹配前一个字符最多m次
grep 用扩展正则表达式的时候需要加上 -E 开启
b+ 表示匹配 b 一次或者多次,与 b* 相比,b+ 最少也要匹配1次
grep -n 'b*' 1.txt
grep -En 'b+' 1.txt
image-20210520092715010
匹配 ab 或者 Ab 或者 bc
grep -En 'ab|Ab|bc' 1.txt
image-20210520094223877
匹配 aab 或者 AAb
grep -En '(aa|AA)b' 1.txt
image-20210520095730453
匹配 a 至少 2 次,至多 3 次
grep -En 'a{2,3}' 1.txt
image-20210520095918161
匹配 a 至少两次
grep -En 'a{2,}' 1.txt
image-20210520100051887
匹配 ab 至多一次
grep -En '(ab){,1}' 1.txt
image-20210520100253089
匹配 ab 正好一次
grep -En '(ab){1}' 1.txt
image-20210520100402223
linux grep正则表达式,linux-正则表达式与grep命令相关推荐
- Linux中正则表达式与文件格式化处理命令(awk/grep/sed)
一.正则表达式 1.1国际字符模式匹配或匹配模式的类名 [:alnum:] : 0-9,A-Z,a-z [:alpha:] : A-Z,a-z [:upper:] : A-Z [:lower:] : ...
- linux grep正则表达式,grep中的正则表达式
导读 grep是Linux中用于处理文件的工具之一.grep搜索输入文件,查找与正则表达式匹配的行,并将每个匹配的行标准输出. 正则表达式是匹配一组字符串的模式.模式由操作符.构造文字字符和具有特殊意 ...
- Linux三剑客(awk、sed、grep) 和 正则表达式
本文章适用于一定工作经验(熟悉Linux基础)的同行,欢迎各位大佬批判指正. 上手三剑客(grep,sed,awk)之前,需要熟悉正则表达式,正则表达式--事先定义好的一些特定字符.及这些特定字符的组 ...
- linux查看ip地址特定信息,grep正则表达式实现查找某个特定的IP地址
下面会举几个在grep命令中使用正则表达式从一个文件中匹配到特定的IP地址.下面的正则表达式将会匹配IPV4的地址. 正则表达式匹配IP地址: 使用下面的正则表达式来匹配IPV4的地址,先来匹配从0. ...
- linux基础--grep以及模式正则表达式
grep [options] PATTERN [FILE....] -i:不区分大小写 --color:高亮显示匹配字符 -v:显示没有被匹配到的行 -o:只显示被匹配到的字符串 -E:使用扩展正则表 ...
- Linux Shell脚本编程--grep命令
简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...
- grep递归查找头文件_Grep命令教程–如何使用递归查找在Linux和Unix中搜索文件
grep递归查找头文件 grep stands for Globally Search For Regular Expression and Print out. It is a command li ...
- linux 删除所有a字符串,linux文本处理三剑客(grep、sed、akw)命令选项整理
摘要:Linux中最重要的三个命令:awk,sed,grep,在业界被称为"三剑客". 1.grep和egrep(过滤器) grep: grep [选项][匹配条件][file1 ...
- linux更改权限报io错误,用户命令、权限、IO重定向、grep
/etc/passwd: 用户名:密码:UID:GID:注释:家目录:默认SHELL /etc/group: 组名:密码:GID:以此组为其附加组的用户列表 /etc/shadow: 用户名:密码:最 ...
- grep 命令系列:grep 中的正则表达式
grep 命令系列:grep 中的正则表达式 在 Linux .类 Unix 系统中我该如何使用 Grep 命令的正则表达式呢? Linux 附带有 GNU grep 命令工具,它支持扩展正则表达式e ...
最新文章
- 使用代理网络配置maven,显示导入失败的原因
- [BZOJ 3629][JLOI2014]聪明的燕姿
- mysql主从从配置详解_MySQL主从配置详解
- java jsp 图片上传_jsp 图片上传代码
- 从业余挖洞到微软漏洞研究员,我的遗憾、惊喜和建议
- JSON时间转换格式化
- 读取xlsx,根据模板图片批量添加文字生成相关图片,如证书,奖状,名片等
- Center OS 7
- 云安全技术——PGP加密技术
- android 跑马灯带图片,Android自定义跑马灯效果(适合任意布局)
- python入门学习——6种方法求n的阶乘(8种写法)
- IEEE 802.1AS-2011 第七章 桥接局域网的时间同步模型
- excel数据个数统计问题
- php图片点击查看大图,jQuery点击小图看大图,大图查看内容详情所有图片
- 网易2019游戏研发工程师笔试题
- iReport学习一:中文字体显示
- NanoPi NEO2使用
- VS2010 MFC中对Access数据库基本操作
- html生成海报图片
- iPad 使用感想 - 初体验