Linux-shell篇之grep命令

grep,egrep,fgrep

grep:根据模式搜索文本,并将符合模式的文本行显示出来
Pattern:文本字符和正则表达式的元字符组合而成匹配条件

grep [options] PATTERN [FILE…]
-i
–color
例子:grep --color ‘root’ /etc/passwd
例子:.bash_profile文件里面可以写入alias grep=‘grep --color’
-v:显示没有被模式匹配到的行
-o:只显示被模式匹配到的字符串

正则表达式:REGular EXPression,REGEXP
元字符:
.:匹配任意单个字符
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
字符集合:
[:digit:],[:lower:],[:upper:],[:punct:],[:space:],[:alpha:],[:alnum:]

匹配次数:
*:匹配其前面的字符任意次
.*:任意长度的任意字符
?:匹配其前面的字符1次或0次
例子:a,b,ab,aab,acb,adb,amnb
a*b
a.*b
a?b
{m,n}:匹配其前面的字符至少m次,至多n次
{1,}:至少一次
{0,3}:最多三次
例子:grep ‘a{1,3}b’ test.txt
例子:grep ‘a.{1,3}b’ test.txt

位置锚定:
^:锚定行首,此字符后面的任意内容必须出现在行首
$:锚定行尾,此字符前面的任意内容必须出现在行尾
例子:grep ‘b…h$’ /etc/passwd
^$:空白行
例子:grep ‘^$’ /etc/passwd|wc -l
<或\b:锚定词首,其后面的任意字符必须作为单词的首部出现
>或\b:锚定词尾,其前面的任意字符必须作为单词的尾部出现
例子:grep “root>” test.txt,匹配root结尾
例子:grep “<root>” test.txt,完全匹配root

字符集合:
例子:grep ‘[[:digit:]]$’ /etc/inittab,匹配以数字结尾的行
例子:grep ‘[[:space:]][[:digit:]]$’ /etc/inittab,匹配以空白字符+数字结尾的行

分组:
\(\)
例子:grep “(ab)*” test.txt
后向引用
\1:引用第一个左括号以及与之对应的右括号所包括的所有内容
例子:grep ‘\(l…e).*\1’ test.txt,前面匹配到什么,后面就引用什么

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值