文档目录:
---------------------------------------分割线:正文--------------------------------------------------------
1、grep -v '123' test3 #过滤不包含123的行
2、grep -n '123' test3 #过滤包含123的行并输出行号
3、grep -i 'AbC' test3 #过滤含abc的行并不区分大小写
4、grep -Ei 'abc|123' test3 #同事过滤两个不同的字符串并为过滤的内容颜色显示,并不显示大小写
5、grep -c 123 test3 #匹配的字符串的数量
6、grep -o -n 123 test3 #只输出匹配的内容
7、grep -w 123 test3 #全词匹配123
8、grep -Ev '^$|#' test3 #去除文本中的^$空行 以及 #注释
预置测试文本:
1、sed '2a 102_1 xiaowang,CSO' test4.txt #2a,第2行后增加,实际文件并不增加
2、sed '2i 102_1 xiaowang,CSO' test4.txt #2i,第2行前增加,实际文件并不增加
3、sed '2a 102_1 xiaowang,CSO 102_2 xiaohuang,PMP' test4.txt #2a,第2行后增加2行文本
4、sed 2d test4.txt #删除第二行文本
5、sed 2,5d test4.txt #删除2-5行文本
6、sed s#white#black#g test4.txt #替换白为黑
7、sed -n '2p' test4.txt #n取消默认输出,2p查询出指定行
8、sed -i '2a 102_1 haha,TSE' test4.txt #-i直接更改文件
1、awk NR==2 test4.txt #输出第2行命令
2、awk NR==2,NR==5 test4.txt #输出第2-5行命令
3、awk '{print NR,$0}' test4.txt #awk'墙 显示 行号和这一行的内容 墙'
4、awk 'NR==2,NR==5 {print NR,$0}' test4.txt #显示第2行到第6行,并且打印行号
5、awk -F ',' '{print $1,$3}' test4.txt #打印逗号分割的第1列和第3列,$0代表整行
6、awk '{gsub('10','100',$0);print $0}' test4.txt #使用gsub替换10为100
7、ifconfig ens33 | awk -F 'inet | netmask ' 'NR==2{print $2}' #两把菜刀分割inet与netmask取得$2第二部分内容,并取第二行的分割结果
8、ifconfig ens33 | awk -F '[ ]+' 'NR==2{print $3}' #正则表达式[ ]+表示以单个或多个空格分割,完了取第三部分内容
9、awk -F '/' '{print $3}' test5.txt #以/分割并取出第三部分内容
10、awk -F '/' '{print $3}' test5.txt|sort #以/分割并取出第三部分内容,并排序,结合sort
11、awk -F '/' '{print $3}' test5.txt|sort|uniq -c #去重计数,结合uniq
12、awk -F '/' '{hotel[$3]++}END{for(domain in hotel)print domain,hotel[domain]}' test5.txt #通过awk创建数组并通过循环来实现去重统计