printfコマンドは、1行に2つのパラメータを印刷します。

printfコマンドは、1行に2つのパラメータを印刷します。

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)

おすすめ記事