设为首页 收藏本站
查看: 1544|回复: 6

SHELL之grep

[复制链接]

尚未签到

发表于 2013-4-27 14:01:46 | 显示全部楼层 |阅读模式
                                              SHELL之grep
     grep 搜索文本
grep:文本中的内容的通配
              选项        模式
     grep  [options]     PATERN      file1,file2...
         grep      -c         "2004"        myfile
         grep [-acinv]  "搜索字符串"   filename
         -a 将二进制文件以文本文件的方式搜索数据
         -c计算找到'搜索字符串的'次数
         -i忽略大小写的不同
         -n顺便输出行号
         -v反向选择,即显示没有"搜索字符串"的那一行
   三种变形:
   -Grep    默认只支持基本正则表达式
   -Egrep   支持扩展正则表达式
   -Fgrep
   选项:
   -c  只输出匹配行的计数
   -i   不区分大小写
   -o   仅显示匹配到的串
   -w    匹配整词
   -x    匹配整行
   -r    递归的搜索
   -E   支持扩展正则表达式
   -h   查询多文件时不显示文件名
   -H   显示文件名
   -l   查询多文件时只输出包含匹配字符
   -n   显示匹配行及行号
   -s   不显示不存在或无匹配文本的错误信息
   -v    显示不包含匹配文本的所有行(反选)
   -B 1:参数上面的一行
   -A 1:参数下面的一行
   \{n\}:重复前一个相同字符n个
   \{n,m\}:重复前一个相同字符n---m个
   \{n,\}:重复前一个相同字符n个以上

eg:
[iyunv@localhost shell]# grep 'root' < /etc/passwd       or    cat /etc/passwd | grep 'root'
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin


    eg:
  ifconfig | grep "inet addr" | grep -v "127.0.0.1" | cut -d: -f2 | cut -d' ' -f1   //取ip地址
  ifconfig | grep -A 1 "^eth" | grep -o "addr:[0-9.]\{1,\}" | cut -d: -f2           //取ip地址
  ifconfig | awk '{print $2}' | grep  'addr:' | cut -d ':' -f2 | grep -v '127.0.0.1' | sed '/^$/d' //取ip地址
  ifconfig | grep -o "^[^[:space:]]\{1,\}"                                         //取所有网卡
  ifconfig | grep -B 1 "172.16.1.1" | grep -o "^[^[:space:]]\{1,\}"                //取ip地址对应的网卡

grep "jenny" *.txt                //所有txt文件中包含有jenny的
grep "sort it" *                  //所有文件中包含有sort it的
grep -c "2004" myfile             //输出myfile文件中匹配2004的有多少行
grep -n "2004" myfile             //显示myfile文件中匹配2004的行号以及行号的内容
grep -i "jul" myfile               //不区分大小写的显示myfile文件中jul
grep -v "2004:22" myfile            //反选过滤掉“2004:22”
grep "2004:22:5[0-9]" myfile        //显示出myfile中为2004:22:50-2004:22:59
grep "^[^210]" myfile              //可以过滤210,不会显示有210字符的行
grep "H*P"  myfile                   //以p结尾,H重复出现0次或任意次 (可表示任意字符开头的,只需是p结尾的)
grep "[5-8][6-9][0-3]" myfile       //显示第一个数是[5-8]第二个数是[6-9]第三个数是[0-3]之间的行
grep "4\{2\}"  myfile                //匹配4出现的次数为2次
grep "4\{2,\}" myfile                //匹配4出现的次数至少为2次
grep "4\{2,4\}" myfile               //匹配4出现的次数为2-4次之间的
grep "^$" myfile                   //过滤掉空格行
grep "\?" myfile                   //从myfile中查找出有问号的   
grep "^d" myfile                   //显示已d开头的行
grep "^[^d]" myfile                //过滤掉以d开头的行
grep  '[.!]$'  myfile               //搜索以句号或者叹号结尾
grep  '[^.!]$' myfile                //不是以句号或者叹号结尾的
grep -n '^[.!]$' vsftpd               //表示只有是.或者是!的行

  grep -c ^$ /etc/vsftpd/vsftpd.conf         //统计空格的行     
  grep -c [^$] /etc/vsftpd/vsftpd.conf      
  grep -c ^[^$] /etc/vsftpd/vsftpd.conf
  grep -c ^^$ /etc/vsftpd/vsftpd.conf
[iyunv@localhost ~]# grep -c "^#" /etc/vsftpd/vsftpd.conf
103
[iyunv@localhost ~]# grep -c "^[#]" /etc/vsftpd/vsftpd.conf
103
[iyunv@localhost ~]# grep -c "^[^#]" /etc/vsftpd/vsftpd.conf
16
[iyunv@localhost ~]# grep -c "[^#]" /etc/vsftpd/vsftpd.conf
94
[iyunv@localhost ~]# grep -c "^^#" /etc/vsftpd/vsftpd.conf
0
[iyunv@localhost ~]#


eg:
[iyunv@localhost ~]# cat -A -n li   //查看li这个文件里面的内容,-A参数可以显示空格和$符号
     1        li. $     //注意这个li.后面有一个空格
     2        tom!$
     3        .!$
     4        .$
     5        !$
     6        ni shi shui.$
     7        are you ok!$
     8        li jie$
     9        ?$
    10        $
[iyunv@localhost ~]# grep -n '[.!]' li   //搜索这个文件中有.或者有!的行打印出来并显示其行号
1:li.
2:tom!
3:.!
4:.
5:!
6:ni shi shui.
7:are you ok!
[iyunv@localhost ~]# grep -n '[.!]$' li  //打印以.或者!结尾的行和行号
2:tom!
3:.!
4:.
5:!
6:ni shi shui.
7:are you ok!
[iyunv@localhost ~]# grep -n '^[.!]$' li   //打印只有.或者!的行和行号  (两个当中只能取一个)
4:.
5:!
[iyunv@localhost ~]# grep -n '^.$' li   //匹配只有当个字符的行和行号
4:.
5:!
9:?
[iyunv@localhost ~]# grep -n '^.!$' li   //匹配以.开始以!结尾中间没有任何字符的行和行号(匹配只有.!的行和行号)
3:.!
[iyunv@localhost ~]# grep -n '[^.!]$' li  //匹配非.或者非!结尾的行和行号,""""!!!注意^非是在方括号里面,在外面就是以什么开头了!!!""""
1:li.   //后面有空格
8:li jie
9:?
[iyunv@localhost ~]# grep -n '[^.!]' li //grep 要过滤这一行时,这一行中除了点(.)和叹号(!)之外其他的任何数字和字母都能匹配到
1:li.     li. 这一行中,虽然点匹配不到,但是li这两个字母可以匹配到,所以就显示出来了
2:tom!
6:ni shi shui.
7:are you ok!
8:li jie
9:?
[iyunv@localhost ~]# grep -n '^[.!]' li  //匹配以.或者!开头的行及行号
3:.!
4:.
5:!
[iyunv@localhost ~]# grep -n '.!' li //匹配!前面有任意个单字符(绝对有一个字符)???
2:tom!
3:.!
7:are you ok!



glob:文件名称通配
     三次元字符
    *:任意长度的任意字符
    ?:任意单个字符
   []:指定范围内的任意单个字符       


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-5536-1-1.html 上篇帖子: SHELL之sed 下篇帖子: SHELL之awk

尚未签到

发表于 2013-4-27 14:10:54 | 显示全部楼层
沒有激情的亲吻,哪來床上的翻滾?

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-18 13:48:46 | 显示全部楼层
不要在一棵树上吊死,在附近几棵树上多试试死几次~

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-22 03:20:16 | 显示全部楼层
自从我变成了狗屎,就再也没有人踩在我头上了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-27 16:26:33 | 显示全部楼层
我妈常说,我们家要是没有电话就不会这么穷。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-2 20:22:56 | 显示全部楼层
微机原理闹危机,随机过程随机过,实变函数学十遍,汇编语言不会编!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-6 16:58:54 | 显示全部楼层
站的更高,尿的更远。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表