grep awk wc

 

awk:

echo "172.1.3.2:25 100 OK" |awk '{print $1}' #默认以空格为分隔符,{print $1}表示打印第一个字段,结果返回172.1.3.2:25
echo "172.1.3.2:25 100 OK" |awk -F ":" '{print $2}' #以 : 为分隔符,结果返回 25 100 OK

awk '{print $1}' |sort |uniq  #排序去重

awk  '{sum+=$3}END{print sum}' urfile  #对第三列求和

wc:
echo "172.1.3.2:25 100 OK" |wc -l #统计文本行数,-w表示统计字数

grep:
ipvsadm -Ln |egrep 'Active|Route' #查找包含Active或Route关键字的行,等同于grep -E
ipvsadm -Ln |grep -v 'Active' #查找不包含 Active关键字的行
grep -E "Manager|developer" employee.txt |grep -v Sales #在文本employee.txt中查找包含Manager或developer,但不包含Sales的行

fgrep '01BB'  /proc/net/ip_vs_conn |wc -l  #不支持正则,搜索文本速度最快

grep参数含义如下:

       -E :开启扩展(Extend)的正则表达式。

  -i :忽略大小写(ignore case)。

  -v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。

  -n :显示行号

  -w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker

  -c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。

  -o :只显示被模式匹配到的字符串。

  --color :将匹配到的内容以颜色高亮显示。

  -A  n:显示匹配到的字符串所在的行及其后n行,after

  -B  n:显示匹配到的字符串所在的行及其前n行,before

  -C  n:显示匹配到的字符串所在的行及其前后各n行,context

 

posted on 2021-12-08 11:03  momingliu11  阅读(47)  评论(0编辑  收藏  举报