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、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; ~]# egrep ^[[:space:]] /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; ~]# egrep …

    Linux干货 2016-08-08
  • 第三周 用户和组管理

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who root     pts/0        2017-12-16 22:46 (192.168.43.233) root     pts/1        2017-12-16 22:46 (192.168.43.233…

    2017-12-16
  • Mariadb数据库复制系列(五):基于SSL的复制

       实验五:基于SSL的主从复制功能的实现 在mysql服务器之间复制数据,默认情况下都是基于明文的,在有些场景中,明文传输会造成严重的数据安全隐患,因此,需要对mysql服务器之间的复制时的传输进行加密,传输加密方式可以基于SSL的会话进行 1、实验环境 2、私有CA的搭建 3、在主节点node72上生成证书签署请求、发送到私有CA服务器 4、在从节点n…

    Linux干货 2016-11-24
  • 马哥教育网络班22期第2周课程作业

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。     1、cp 文件复制 [选项]源文件 目标文件         -r 递归复制    …

    Linux干货 2016-08-31
  • Centos6.5上搭建openvpn

    一、openvpn原理 二、安装openvpn 三、制作相关证书     3.1 制作CA证书     3.2 制作Server端证书     3.3 制作Client端证书 四、配置Server端 五、配置C…

    Linux干货 2016-04-28
  • 马哥教育网络班22期+第三周(8.22-8.28)博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。   # who|awk '{print $1}'|sort| uniq 2、取出最后登录到当前系统的用户的相关信息。   # last   # last|gr…

    Linux干货 2016-08-29