正则表达式之grep

语法:grep [-cinvABC] ‘word’ filename

1
2
3
4
5
6
7
8
9
-c:打印符合要求的行数
-i:忽略大小写
-n:在输出符合要求的行的同时连同行号一起输出
-v:打印不符合要求的行
-A:后跟一个数字(有无空格都可以)例如-A2则表示打印符合要求的行以及下面两行
-B:后跟一个数字,例如-B2则表示打印符号要求的行以及上面两行
-C: 后跟一个数字,例如-C2则表示打印符合要求的行以及上下个两行
-r:会把目录下所有的文件全部遍历
-w:w为word的意思

grep工具实例:

1、过滤出带有某个关键词的行并输出行号

grep -n 'root' 1.txt

2、过滤出不带有某个关键词的行并输出行号

grep -n -v 'root' 1.txt

3、过滤出所有包含数字的行

grep '[0-9]' 1.txt

4、去除所有以‘#’开头的行

grep -v '^#' 1.txt

5、去除所有空行和以’#’开头的行

grep -v '^$' 1.txt|grep -v'^#'
或者是:
grep -v '^$' |grep -v'^#' 1.txt

6、过滤出以英文字母开头的行

grep '^[a-zA-Z]' 1.txt

7、过滤出以非数字开头的行

grep '^[^0-9]' 1.txt

8、过滤出任意一个或多个字符

grep 'r.o' 1.txt;  r,t之间的任意字符,r,t必须有
grep 'r*t' 1.txt;  零个或多个r,但是必须有t
grep 'r.*t' 1.txt; 只要有r和t就行了

9、.表示任意一个字符;*表示零个或多个前面的字符

.*表示零个或多个任意字符,空行也包括在内

10、指定过滤字符次数

grep 'o\{2\}' 1.txt
坚持原创技术分享,您的支持将鼓励我继续创作!