grep学习示例

grep学习示例


Linux中grep命令使用较多,现将自己学习的罗列几条.

1. 去除空白行

    空白行是指空行或者只有空格的行,使用grep命令去除空白行,命令如下:

     grep -v  “^[[:space:]]*$”  file

2. 实现or 和 and功能

    1. grep -e 实现多个选项间的逻辑or关系 
        显示shell类型为bash或者nologin的行:

     grep -e bash -e nologin  /etc/passwd

    2. 两次使用grep实现多个选项间的逻辑and关系 
        判断用户名为wang并且用户ID为1007的用户是否存在:

     grep “^wang\>”  /etc/passwd | cut -d: -f3 | grep “\<1007\>”

3. 过滤出段落中的IP地址

    1. 显示ifconfig命令结果中所有IPv4地址

     ifconfig | egrep -o “\<(([0-9] | [1-9][0-9] | 1[0-9]{2} | 2[0-4][0-9] | 25[0-5]).){3}([0-9] | [1-9][0-9] | 1[0-9]{2} | 2[0-4][0-9] | 25[0-5])\>”

    2. 显示file文件中类似255.255.255.0 或者 114.114.114.119这样的地址

    ifconfig | egrep -o “\<(([0-9] | [1-9][0-9] | 1[0-9]{2} | 2[0-4][0-9] | 25[0-5]).)\1\1([0-9] | [1-9][0-9] | 1[0-9]{2} | 2[0-4][0-9] | 25[0-5])\>”

4. 对比grep和egrep中( )的使用区别

    1. 用 grep 匹配 (jihui)

    grep -o “(jihui)” f1

    2. 用 egrep 匹配 (jihui)

    egrep -o “\(jihui\)” f1

5. grep的多文件匹配

    文件 f1 的内容为:

(jihui) 
jihui 
he he 
(jihui)shi hen zhongyaodao(jihui)important

    文件 f2 的内容为:

jihui is important 
jihui

    一次进行多文件的匹配,显示在f1,f2文件中匹配jihui的行

    grep  “jihui”   f1   f2

    显示的结果:

f1:(jihui) 
f1:jihui 
f1:(jihui)shi hen zhongyaodao(jihui)important 
f2:jihui is important 
f2:jihui

原创文章,作者:woking,如若转载,请注明出处:http://www.178linux.com/83427

(0)
wokingwoking
上一篇 2017-07-30
下一篇 2017-07-30

相关推荐

  • 马哥教育网络班21期-第六周课程练习

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;  # :%s@^[[:space:]]\+@#&@g 2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; &nb…

    Linux干货 2016-08-15
  • 初学Linux文件目录结构

    /:根目录 /bin(binary):放置的是二进制文件。可执行的命令;非管理类的命令,通常是系统启动就需要的文件,供所有用户使用的基本命令;不能关联至独立分区, OS启动即会用到的程序。 /sbin:管理类的命令,通常只有管理员可以使用。 /lib:存放的是系统级别的库文件 /lib64:专用于x86_64系统上的辅助共享库文件存放位置  /ro…

    Linux干货 2017-07-13
  • inode 是什么及绝对路径和相对路径和一些目录相关命令总结

    inode是什么          每个分区又分两个区,元数据区和数据区。     元数据区主要存储文件的权限,属主属组,时间戳,文件的存储位置指针….就如一本书有目录页和内容页一样,目录页上的记录的是内容的页数,可以通过目录页的页数直接…

    Linux干货 2016-08-02
  • DNS和BIND配置(第一部分)

    一、知识整理 1、最初只有七个一级域名:Top Level Domain:tld:com、edu、mil、gov、net、org、int;     一级域名分三类:组织域、国家域、反向域。最多127级域名;全球有13个根节点服务器。 2、一次完整的查询请求经过的流程:client—hosts文件&#8212…

    Linux干货 2016-10-17
  • 函数定义、使用

        1、函数介绍         函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程。           &nb…

    Linux干货 2016-08-22
  • N26-第八周

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。     网桥(birdge):工作于OSI模型中的数据链路层,是连接两个局域网的一种存储/转发设备,能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户都可访问服务器,可以分割冲突域。   &nb…

    2017-03-08