awk中使用變量計算

方式一

  使用-v參數

#不能直接使用環境變量 需要賦值給本地變量在使用
echo 當前用戶爲|awk -v USER=$USER '{print $1 USER}'

uptime|awk '{print $11}'|awk -F ',' -v processNum=`cat /proc/cpuinfo | grep "processor" | wc -l`  '{print "負載值:"$1,"負債率:"$1 / processNum }'

#2位小數 或百分值
uptime|awk '{print $11}'|awk -F ',' -v processNum=`cat /proc/cpuinfo | grep 'processor' | wc -l`  '{printf "負載率:%0.2f,負載率%d%", $1/processNum, $1/processNum*100}'

方式二

  通過逗號來使用變量
 

#必須是"'"
echo 當前用戶爲|awk '{print $1"'"$USER"'"}'

#expr可以省略  "'"可以簡寫成'  如果前後有字串的話必須寫成"'"
processNum=`cat /proc/cpuinfo | grep "processor" | wc -l` && uptime|awk '{print $11}'|awk -F ',' '{print "負載值:"$1,expr "負載率:" expr $1 / "'"$processNum"'" }'

#簡寫
processNum=`cat /proc/cpuinfo | grep "processor" | wc -l` && uptime|awk '{print $11}'|awk -F ',' '{print "負載值:"$1,expr "負載率:" $1 / '$processNum' }'

附錄

 

#獲取cpu邏輯核數
cat /proc/cpuinfo | grep "processor
#獲取5分鐘負載 $11改成$10獲取1分鐘負載 改成$12獲取15分鐘負載
uptime|awk '{print $11}'|awk -F ',' '{print $1}'

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章