2.1 grep过滤-1

#正则表达式,匹配root

grep 'root' /etc/passwd


#关键字用颜色标注一下

grep --color 'root' /etc/passwd


#匹配行号

grep --color  -n 'root'  /etc/passwd    -n显示行号


#做别名

alias cg='grep --color'


#出现行数

cg -c 'root' 1.txt     -c显示行数


#取非,不包含

cg  -v 'root'  1.txt


#匹配到的行输出并且多显示下几行

cg -n -A 2 'root'  1.txt


#匹配到的行输出并且多显示上几行

cg -n -B 2 'hadoop'  1.txt


#匹配到的行输出并且多显示上下几行

cg  -n  -C  2 'hadoop'  1.txt


#会把目录下的全部文件遍历显示出来

cg  -r  'iptables'  /etc/*


#忽略大小写

grep -i


习题:

1. 过滤出1.txt中包含'root'的行,并显示行号。

grep -n 'root'  1.txt

总结:

主要:grep过滤  -n选项是显示行号,-c选项显示行数,-v选项是取反,-i 选项忽略大小写,-r选项是会把目录下的全部文件遍历显示出来

次数:grep过滤  -A选项是匹配到的行输出并多显示下几行,-C选项是匹配到的行输出并且多显示上下几行


实践出真理

例子介绍,文件是1.txt

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

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


你可能感兴趣的:(2.1,grep过滤-1)