1.语法

grep [-cinvABC] 'word' filename

-c : 打印符合要求的行数
-n :在输出符合要求的行的同时连同行号一起输出
-v :打印不符合要求的行
-A :后跟一个数字(有无空格都可以),例如-A2则表示打印符合要求的行以及下面两行
-B :后跟一个数字,例如-B2打印符合要求的行以及上面两行
-C :后跟一个数字,例如-C2打印符合要求的行以及上下各两行
-r :会把目录下面所有的文件全部遍历

2.实例

      为了更加方便显示,alias grep='grep --color'

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
  • 过滤出带有某个关键词的行并输出行号 grep -n 'root' 1.txt linux之grep命令 随笔 第1张
  • 过滤出不带有某个关键词的行并输出行号 grep -n -v 'root' 1.txt linux之grep命令 随笔 第2张
  • 过滤出所有包含数字的行grep  '[0-9]' 1.txt linux之grep命令 随笔 第3张
  • 过滤出所有不包含数字的行grep -v '[0-9]' 1.txt linux之grep命令 随笔 第4张
  • 去除所有以'#'开头的行 grep -v '^#' 1.txt
  • 去除所有空行和以'#'开头的行 grep -v '^$' 1.txt |grep -v '^#'
  • 过滤出以英文字母开头的行 grep '^[a-zA-Z]' 1.txt
  • 过滤出以非数字开头的行 grep '^[^0-9]' 1.txt
  • 过滤任意一个或多个字符 grep 'r.o' 1.txt;grep 'r*t' 1.txt;grep 'r.*t' 1.txt
    .表示任意一个字符;*表示0个或多个前面的字符;.*表示0个或多个任意字符,空行也包含在内
  • 指定过滤字符次数 grep 'o\{2\}' 1.txt
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄