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 21:02
下一篇 2017-07-30 21:21

相关推荐

  • Linux磁盘管理

    一、磁盘管理总体分类  1)磁盘结构  2)分区类型  3)管理分区 4)管理文件系统  5)挂载设备 6)管理虚拟内存 ……………………………………………………………………………………………………………………… 重要分类模块详解 ………………………………………………………………………………………………………………………

    Linux干货 2016-08-29
  • linux网络管理 一

    什么是网络?         是指将具有独立功能的计算机和周边设备,通过通信线路连接起来,在网络软件的支持下,实现资源的共享和数据的整个系统。 网络的特征:         速度      …

    2017-03-16
  • 网络配置与进程管理

    一、网络配置 1、ifconfig命令  ifconfig [IFACE]      显示所有启动的网络接口信息,包括网卡别名;指明网络接口时,显示指定网络接口信息 ifconfig -a     显示所有网络接口的信息,包括未启动的网卡接口。 if…

    Linux干货 2016-09-08
  • 服务器故障的解决方法以及基本脚本的编写

    1,当开机时一直重新启动怎么办? 在开机时就如字符界面后按下a键然后进入单用户模式,通过设置 [root@CentOS6 boot]# vim /etc/inittab 这个文件,将里面的开机启动项改为多用户模式就可。 # id:3:initdefault: “/etc/inittab” 26L, 884C 讲id这项设置完成后重新启动就好。 2,忘记roo…

    Linux干货 2017-05-15
  • N26-第二周作业

    linux上的文件管理命令:     1. cp命令:         作用:复制文件或目录         单文件复制:    …

    Linux干货 2017-02-15
  • 正则表达式和变量写脚本

    #!/bin/bash 检查系统所有用户的shell是否为bash? 注释:用grep查找是否有此类用户,如果有则为真,则$?必然为0;显示的passwd结果对我们没意义,所以重定向到空。  grep “\bbash\b$” /etc/passwd &> /dev/null  A=`echo $?` …

    Linux干货 2017-04-16