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

相关推荐

  • 第十二周作业

    1、 请描述一次完整的http请求处理过程;  HTTP:超文本传输协议 完整的http请求过程 1)、建立TCP/IP连接:经过3次握手,建立连接或拒绝。 2)、浏览器向服务器发送HTTP请求。 3)、浏览器发送请求头信息。 4)、服务器应答:服务器接受请求后,会回送应答。 5)、服务器发送应答头信息。 6)、服务器向浏览器发送数据。 7)、服务…

    2017-05-17
  • OpenSSL:实现创建私有CA、签署证书请求详解

    一、OpenSSL:CA默认配置信息     1.证书签发机构CA:公共信任CA、私有CA                建立私有CA方式如下: 小范围测试使用openssl、 大…

    Linux干货 2016-04-30
  • mkdir练习

    课外资料 mkdir命令用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。 注意:在创建文件时,不要把所有的文件都存放在主目录中,可以创建子目录,通过它…

    Linux干货 2016-08-08
  • mysql进阶篇(三种备份方法总结:lvm, mysqldump, xtrabackup)

    二进制日志详解:     二进制日志通常作为备份的重要资源,所以再说备份之前先总结一下二进制日志的相关内容      1. 二进制日志的内容         引起mysql服务器改变的任何操…

    Linux干货 2015-12-10
  • 进程管理

    进程管理 内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能 用户模式(空间),内核模式(空间) Process(进程):运行中的程序的一个副本         存在生命周期 task struct:内核的结构体 Linux内内核存储进程信息的固定格式:tas…

    Linux干货 2016-09-10