awk技巧一則——指定多個分隔符


cat /proc/net/dev

Inter-| Receive | Transmit

face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed

lo: 2848 32 0 0 0 0 0 0 2848 32 0 0 0 0 0 0

eth1: 3238771 5080 0 0 0 0 0 0 556106 3474 0 0 0 0 0 0

該文件涉及到網絡流量的監控,如果我們要取到eth1后面的值(網卡Eth1接收的流量),則必須使用awk

 

這里使用命令:

cat /proc/net/dev | awk -F '[: ]+' '/eth1/{print $3}'

//-F[: ]表示指定分隔符可以是:或者 (空格) 這里指定多個分隔符

[ ] 表示一個字符的集合,+則是一個正則表達式,表示+前面的字符(:或者空格)重復1次或者一次以上

 

再比如,獲取網卡(Eth1)發送的流量(字節)

cat /proc/net/dev | awk -F '[: ]+' '/eth1/{print $11}'

 

在舉一個例子:

echo "1::::2 3 4" | awk -F '[: ]+' '{print $4}'

4

echo "1::::2 3 4" | awk -F '[: ]+' '{print $1}'

1

echo "1::::2 3 4" | awk -F '[: ]+' '{print $2}'

2

echo "1::::2 3 4" | awk -F '[: ]+' '{print $3}'

3

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM