
printf
パーセント記号を使用して以下の出力を表示するには?
used1=64.1
printf "USED =%.1f\n", used1 " %"
出力が必要
output is USED=64.1%
以下はawkの実際のスクリプトです。
isi storagepool list -v |awk 'function num2gb(n) { if (n ~ /T$/) return n / 1; return n / 1024; }
/Requested Protection:/ { parity=substr($NF,length($NF)-1,1) }
/Nodes:/ { nodes=$NF }
/HDD Total/ { hdd_total=$NF }
/HDD Used/ { hdd_used=num2gb($NF) }
END {
multiplier=nodes-parity
total=hdd_total/nodes*multiplier
used=hdd_used/nodes
eu=used*multiplier*0.8
et=total*0.8
used1=eu/et*100
print "parity =" parity
print "NodeNumber =" nodes
printf ("Total =%.1f\n", total, TB);
printf "Effective Total volume =%.1f\n", total*0.8, " TB"
printf "USED =%.1f\n", used1 " %"
printf "Effective used=%.1f\n", used*multiplier*0.8, " TB"
printf "Available volume=%.1f\n", (hdd_totalhdd_used)/nodes*multiplier*0.8, " TB"
printf "HDD Total=%.1f\n", hdd_total}'
答え1
for は%
印刷形式を定義する特殊文字です。出力でテキストを使用し、好ましくは最初の制御領域内に移動するには、からprintf
別の文字にエスケープする必要があります%
。バラよりprintf
%
人々が印刷する
printf("USED =%.1f %%\n", used1)
または、次のように単一引用符で囲むこともできます。
printf("USED =%.1f '%'\n", used1)
または、次のように印刷することもできます。氏キャラクターの%c
使い方
printf("USED =%.1f %c\n", used1, "%")
または代わりにASCIIコードを使用してください。
printf("USED =%.1f %c\n", used1, 37)