使用sed打印出IP地址:
創(chuàng)新互聯(lián)建站專注于寧蒗企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),購(gòu)物商城網(wǎng)站建設(shè)。寧蒗網(wǎng)站建設(shè)公司,為寧蒗等地區(qū)提供建站服務(wù)。全流程按需開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
[root@Srv02 ~]# ifconfig eth0 |grep Mask|sed 's/^.*dr://g'|sed 's/Bc.*$//g' 192.168.1.223
[root@Srv02 ~]# ifconfig eth0 |grep Mask|sed -n 's/^.*dr:\(.*\)Bc.*$/\1/gp' 192.168.1.223
awk打印IP:
[root@Srv02 ~]# ifconfig eth0 |grep Mask|awk '{print $2}'|awk -F: '{print $2}' 192.168.1.223
[root@Srv02 ~]# ifconfig eth0 |grep Mask|awk -F[:\] '{print $13}' 192.168.1.223
使用awk內(nèi)部變量的方式指定分隔符:
[root@Srv02 ~]# ifconfig eth0|grep Mask|awk 'BEGIN{FS="[:\\ ]"}{print $13}' 192.168.1.223
打印/etc/passwd文件內(nèi),$1為weblogic和tomcat的兩行(使用判斷語(yǔ)句):
[root@Srv02 ~]# more /etc/passwd|awk -F: '{if ($1=="weblogic" || $1=="tomcat" ) print $0}' weblogic:x:501:503::/home/weblogic:/bin/bash tomcat:x:502:504::/home/tomcat:/bin/bash
這里使用~也是一樣的效果:
[root@Srv02 ~]# more /etc/passwd|awk -F: '{if ($1~"weblogic" || $1~"tomcat" ) print $0}' weblogic:x:501:503::/home/weblogic:/bin/bash tomcat:x:502:504::/home/tomcat:/bin/bash
如果$1為變量name的值,就整行輸出:
[root@Srv02 ~]# more /etc/passwd|awk -F: 'BEGIN{name="oracle"}{if($1~name)print $0}' oracle:x:500:500::/home/oracle:/bin/bash
awk內(nèi)部變量的介紹:
NF:表示有多少列。
$NF:表示最后一列。
NR:表示行號(hào)。
ORS:輸出記錄分割符
OFS:輸出字段分割符
RS: 記錄分割符
[root@Srv02 ~]# tail -4 /etc/passwd oracle:x:500:500::/home/oracle:/bin/bash weblogic:x:501:503::/home/weblogic:/bin/bash tomcat:x:502:504::/home/tomcat:/bin/bash nx:x:102:158::/usr/NX/home/nx:/usr/NX/bin/nxserver[root@Srv02 ~]# tail -4 /etc/passwd | awk '{print NF}' 1 1 1 1 [root@Srv02 ~]# tail -4 /etc/passwd | awk -F: '{print NF}' 7 7 7 7 [root@Srv02 ~]# tail -4 /etc/passwd | awk -F: '{print $NF}' /bin/bash/bin/bash/bin/bash/usr/NX/bin/nxserver
使用awk打印端口號(hào):
[root@Srv02 ~]# netstat -ntl |awk '{if($4~"[0-9]$") print $4}'|awk -F: '{print $NF}' 8001 8005 8009 33801.....
使打印輸出顯示行號(hào):
[root@Srv02 ~]# awk -F: '{print NR,$1}' /etc/passwd1 root2 bin3 daemon4 adm5 lp6 sync
顯示$1為oracle的這一行的行號(hào):
[root@Srv02 ~]# more /etc/passwd |awk -F: '{if ($1~"oracle") print NR}' 39
輸出時(shí)以###作為字段分隔符:
[root@Srv02 ~]# tail -4 /etc/passwd |awk -F: 'BEGIN {OFS="###"}{print $1,$7,$3}' oracle###/bin/bash###500 weblogic###/bin/bash###501 tomcat###/bin/bash###502 nx###/usr/NX/bin/nxserver###102