linux之grep命令

1.语法

grep [-cinvABC] 'word' filename

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

2.实例

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

  • 过滤出带有某个关键词的行并输出行号 grep -n 'root' 1.txt
  • 过滤出不带有某个关键词的行并输出行号 grep -n -v 'root' 1.txt
  • 过滤出所有包含数字的行grep  '[0-9]' 1.txt
  • 过滤出所有不包含数字的行grep -v '[0-9]' 1.txt
  • 去除所有以'#'开头的行 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

猜你喜欢

转载自www.cnblogs.com/uniquefu/p/10754435.html