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

相关推荐

  • M20-1 8月3号 –权限、用户和组的管理

    一、权限管理:            ls -l                  rwxrwxrwx:               &nb…

    Linux干货 2016-08-08
  • 一起学DNS系列(十四)DNS查询工具之DIG的使用(1)

      这几节主要讲2个常用的DNS的命令行诊断工具,分别是linux下的DIG和windows下的NSLOOKUP,我们首先来说DIG工具。 DIG,全称Domain Information Groper。原本是Linux平台上BIND服务器诊断的工具(已上传至附件),现在已经有了windows的版本,这节就是利用此工具在windows环境下来做一些…

    2015-03-17
  • 马哥教育网络班21期+第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash while read line; do     if [[ $line&n…

    Linux干货 2016-09-06
  • bash 循环语句for、while、until

    循环执行 循环执行     定义:将某段代码有次数或无次数循环执行多次。     构成要素:退出条件和进入条件     循环的三种语句:for、while、until for循环:      &nbs…

    Linux干货 2016-08-21
  • 马哥教育网络班20期+第2周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示 文件管理命令:ls、cd、pwd、mkdir、rmdir、cp、rm.、mv、touch、cat、more、less、head、tail 1)ls命令:显示目录文件   -a 显示所有文件,包括隐藏文件  ~]# ls -a /etc.  &n…

    Linux干货 2016-06-23
  • 练习

    练习 显示/proc/meminfo文件中以大小s开头的行;     显示/etc/passwd文件中不以/bin/bash结尾的行     找出/etc/passwd中的两位或三位数     显示/etc/grub2.cfg文件中,至少以一个空白字符开头的 且后面存非空白字符的行   &…

    Linux干货 2016-08-12