Linux三剑客

Linux三剑客之grep

grep是linux三剑客之一,它是文本过滤器(根据文本内容过滤文件)。

Linux三剑客

1、语法格式: grep [参数] [匹配规则] [操作对象]
2、参数
以下以/etc/fsta文件内容为例,

Linux三剑客

  • -n : 显示筛选出的内容在文件内的行号

    Linux三剑客

  • -A : 显示匹配行及其后n行

    Linux三剑客

  • -B : 显示匹配行及其前n行

    Linux三剑客

  • C : 显示匹配行及其前后n行

    Linux三剑客

  • -c : 返回匹配内容所在文件的行数

    Linux三剑客

  • -o : 只显示匹配的内容文本

    Linux三剑客

  • -v : 匹配内容取反

    Linux三剑客

  • -q : 静默输出

    Linux三剑客

  • -i : 忽略匹配文本大小写

    Linux三剑客

  • -l : 匹配成功,返回文件名

    Linux三剑客

  • -R | r : 递归匹配(针对目录)

    Linux三剑客

  • -E : 扩展正则匹配(等价于egrep)

    Linux三剑客

练习

  1. 在/etc/passwd文件中,匹配以ftp开头的行

    [root@localhost ~]# grep '^ftp' /etc/passwd
    
  2. 在/etc/passwd文件中,匹配以bash结尾的行

    [root@localhost ~]# grep 'bash$' /etc/passwd
    
  3. 匹配本机中有哪些ip

    [root@localhost ~]# ip a | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}'
    
  4. 在/etc/fstab文件中,匹配无 # 开头的行

    [root@localhost ~]# grep -v '^#.*' /etc/fstab
    
  5. 在nginx.conf文件中,匹配除#开头的行和空行

    [root@localhost ~]# grep -vE '^ *#|^$' /etc/nginx/nginx.coonf
    
上一篇:(Linux)Linux常见操作


下一篇:ps-ef|grep命令详解