深圳网站建设公司,网商在线LOGO

您的位置:首页 > 新闻

grep正则表达式,grep命令用法及参数详解
新闻 2022-11-14编辑:深圳网站建设阅读(标签: 正则表达式

Grep称为全局正则表达式检索工具,在企业中被广泛的采用。grep正则表达式,grep命令用法及参数详解

grep的语法格式:

grep -option(参数) ‘word’(关键词) file(文本文件);

[] 匹配一个指定范围内的字符,如’[Gg]rep’匹配Grep和grep。

grep正则表达式


[^] 匹配一个不在指定范围内的字符,如:’[^A-FH-Z]rep’匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。
… 标记匹配字符,如’love’,love被标记为1。
< 锚定单词的开始,如:’<grep’匹配包含以grep开头的单词的行。
> 锚定单词的结束,如’grep>'匹配包含以grep结尾的单词的行。
x{m} 重复字符x,m次,如:'0{5}'匹配包含5个o的行。
x{m,} 重复字符x,至少m次,如:'o{5,}'匹配至少有5个o的行。
x{m,n} 重复字符x,至少m次,不多于n次,如:'o{5,10}'匹配5–10个o的行。
\w 匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p’匹配以G后跟零个或多个文字或数字字符,然后是p。
\W \w的反置形式,匹配一个或多个非单词字符,如点号句号等。
\b 单词锁定符,如: '\bgrep\b’只匹配grep。有点像< >

grep参数:

-a 不要忽略二进制数据。
-A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容。
-b 在显示符合范本样式的那一行之外,并显示该行之前的内容。
-c 计算符合范本样式的列数。
-C<显示列数>或-<显示列数>  除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
-d<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作。
-e<范本样式> 指定字符串作为查找文件内容的范本样式。
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
-f<范本文件> 指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式。
-F 将范本样式视为固定字符串的列表。
-G 将范本样式视为普通的表示法来使用。
-h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H 在显示符合范本样式的那一列之前,标示该列的文件名称。
-i 忽略字符大小写的差别。
-l 列出文件内容符合指定的范本样式的文件名称。
-L 列出文件内容不符合指定的范本样式的文件名称。
-n 在显示符合范本样式的那一列之前,标示出该列的编号。
-q 不显示任何信息。
-R/-r 此参数的效果和指定“-d recurse”参数相同。
-s 不显示错误信息。
-v 反转查找。
-w 只显示全字符合的列。
-x 只显示全列符合的列。
-y 此参数效果跟“-i”相同。
-o 只输出文件中匹配到的部分。

grep常见用法:

1.查找/etc/passwd文件中是否存在quail用户信息

[root@www sed]# grep "quail" /etc/passwd
quail:x:1000:1000:quail:/home/quail:/bin/bash
[root@www sed]# grep -w "quail" /etc/passwd
quail:x:1000:1000:quail:/home/quail:/bin/bash
[root@www sed]# grep -i quail /etc/passwd
quail:x:1000:1000:quail:/home/quail:/bin/bash
2.ifconfig看到网卡信息,只查看IP地址所在行信息

[root@www sed]# ifconfig |grep -w inet
        inet 192.168.249.132  netmask 255.255.255.0  broadcast 192.168.249.255
        inet 127.0.0.1  netmask 255.0.0.0
[root@www sed]# ifconfig |grep netmask
        inet 192.168.249.132  netmask 255.255.255.0  broadcast 192.168.249.255
        inet 127.0.0.1  netmask 255.0.0.0
[root@www sed]# ifconfig |grep -w 255
        inet 192.168.249.132  netmask 255.255.255.0  broadcast 192.168.249.255
        inet 127.0.0.1  netmask 255.0.0.0
[root@www sed]# ifconfig |grep -E "192|127"
        inet 192.168.249.132  netmask 255.255.255.0  broadcast 192.168.249.255
        inet 127.0.0.1  netmask 255.0.0.0
[root@www sed]# ifconfig |grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}"
        inet 192.168.249.132  netmask 255.255.255.0  broadcast 192.168.249.255
        inet 127.0.0.1  netmask 255.0.0.0


相似内容
企业网站定制

企业网站定制 根据企业需求,量身定制设计

企业网站定制:2800元起
添加微信 请说明来意
联系我们
站内搜索

24小时服务热线 0755-29765948
  • 地址:深圳市罗湖区人民北路2033号206
  • 电话:0755-29765948 传真:82256610
  • 手机:13714666846 18948334877
  • 邮箱:gong@ew35.com 164761418@qq.com
  • 粤ICP备14049207号
创意化数字品牌整合网络营销
营销网站让你坐等商机坐佣客户,Rss

版权所有:深圳市网商在线科技有限公司

友情链接: