天天看點

awk的妙用

  • 終端形式

有人說awk的優勢在于可以個性化輸出指令,這麼說來太抽象了,假如我們檢視占用6379端口的程序資訊。

lsof -i:6379      

輸出結果:

COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 17474 root    6u  IPv6  71242      0t0  TCP *:6379 (LISTEN)
redis-ser 17474 root    7u  IPv4  71243      0t0  TCP *:6379 (LISTEN)      

假如我們隻想擷取程序号PID,那麼awk的優勢就顯現了

lsof -i:6379|awk 'NR==2 {print $2}'      

上述指令中 | 叫做管道符号 管道符号之前為輸入參數 管道後為輸出結果  這個案例中輸入參數就是 “檢視端口的結果”

輸出結果是 輸入參數的第二行NR==2 第二個欄目{print $2},這樣就拿到了pid 17474

  • shell腳本形式
#!/bin/bash
mypid=`lsof -i:6379|awk 'NR==2 {print $2}'`
if [ ${#mypid} -eq 0 ]
then
    echo "程序不存在"
else
    echo "程序編号是:"${mypid}
fi      

轉載于:https://www.cnblogs.com/saintdingspage/p/11243463.html