执行命令为awk功能

时间:2017-11-09 13:50:08

标签: bash awk

我需要一个报告,我们将从这两个命令的下面输出中计算值。以下示例是实际要求。

第一个命令输出

file_data

第二个命令输出

$ isi status -q | grep -e "^Size" -e "^Used" -e "^Avail"
Size:573T
Used:448.0T
Avail:74T

通过以下命令,我将第4个命令作为输出,但是我们如何在awk中执行snapshot命令。 我在awk中尝试了呼叫系统功能,但没有工作。

$ isi_classic snapshot usage | tail -n 1 | awk '{printf "\t\t\tSnapshot USED %=%.1f%%\n", $4}'
     Snapshot USED =0.6%
$ isi_classic snapshot usage | tail -n -1 | awk '{ print "\t\t\tSnapshot USED:" $1}'
     Snapshot USED=3.2T

样本要求

$ awk 'BEGIN{OFS=FS=":";h["Iie"]="Total Size";h["Eed"]="Total Used";h["vail"]="Avilable"}$1 in h{sub(/T/," TB",$2);print h[$1],$2; h[$1]=$2 }END{print "Used (%)",h["Eed"]/h["Iie"]*100}' infile
$ isi_classic snapshot usage | tail -n -1 | awk '{ print "Snapshot USED=" $1}'
$ isi_classic snapshot usage | tail -n 1 | awk '{printf "Snapshot USED %:%.1f\n", $4}'

双向沟通示例

不显示第一个命令输出

Total Size      : 573 TB
Total Used      : 448.0 TB
Total Available : 74 TB
Total Used %    : 86.1 %   # Total Used(%) = Total Used/Total Size *100 = 86.1(%)
Snapshot Used   : 3.2 TB
Snapshot Used % : 0.6 %
Used w/o        : 85.5 %    # {(Total used)-(Snapshot used)} / (Total size) = 85.49%

0 个答案:

没有答案