このシェルスクリプトからパーセント記号 '%'を削除してみてください。
df -h | awk '$NF=="/"{printf "Percentage: %s \n", $5}'
出力:
Percentage: 2%
こうして出力したい
Percentage: 2
すみません、私の英語は悪いです。
ベストアンサー1
$5
の値が数値として解釈されるように強制します。次の形式を使用して印刷する前に、値に0を追加してください%s
。
df -h | awk '$NF == "/" { printf "Percentage: %s\n", 0+$5 }'
または、次のように%d
値を文字列ではなく10進数でフォーマットします。
df -h | awk '$NF == "/" { printf "Percentage: %d\n", $5 }'
または、印刷する前に文字列から最後の文字を明示的に削除します。
df -h | awk '$NF == "/" { printf "Percentage: %s\n", substr($5,1,length($5)-1) }'
df -h | awk '$NF == "/" { sub(".$","",$5); printf "Percentage: %s\n", $5 }'
または、%
入力からすべての文字を削除します。
df -h | tr -d % | awk '$NF == "/" { printf "Percentage: %s\n", $5 }'
df -h | awk '{ gsub("%","") } $NF == "/" { printf "Percentage: %s\n", $5 }'