sed和awk高级用法
1.利用sed截取域名的IP:
[root@node1 ~]# ping domain.com -c 1 | sed '1{s/.*(\([^ ]*\)) 56.*/\1/;q}'[root@node1 ~]# ping domain.com -c 1 | sed '1{s/[^(]*(//;s/).*//;q}'
2.截取域名
[root@node1 ~]# a="vhotws.video.qq.com"[root@node1 ~]# echo $a|sed 's/^[^\.]*.//'video.qq.com[root@node1 ~]# echo $a|echo ${a#*\.}video.qq.com
3.正则高级用法
[root@node1 ~]# echo ${SSH_CLIENT%% *}192.168.0.1
4.正则的贪婪匹配
[root@node1 ~]# echo "123:456:789"|sed 's/[^:]*://g' 789
5. &的用法
[root@node1 ~]# echo 'This is apple'|sed 's#apple#an &#g'This is an apple
6.取第二个相同值
[root@node1 ~]# cat a.txt123 1abc123 2456123 3# awk '$0~/123/{if(a==1)print;a++}' a.txt123 2
7.
[root@node1 ~]# cat a.txtcat fadfdog ff fly afd dogyeadf dogfudu fly[root@node1 ~]# awk '/fly/&&/dog/' a.txtfly afd dog[root@node1 ~]# awk '/fly/&&!/dog/' a.txtfudu fly[root@node1 ~]# sed -r '/dog|[^(fly)]/d'[root@node1 ~]# sed '/dog/d;/fly/!d'fudu fly