ディスク使用量を取得するbashスクリプトがあります(例:60%
)。 %
記号を削除するにはどうすればよいですか? grepまたはawkを使用していますか?
これはそれを行うはずです:
sed 's/%//'
最良の結果を得るために、ストリングをパイプでパイプしてください。
tr
やsed
のような外部ツールは必要ありません。これは、bashがそれ自体で永久に実行できるためです。
percentage="60%"
number=${percentage%\%}
このステートメントは、一致する最短のサブストリング(この場合はエスケープされた%
)を変数の末尾から削除します。 bashに組み込まれた他の文字列操作機能があります。正規表現もサポートしています。一般に、tr
、sed
、awk
またはgrep
を使用する人々が通常目にするもののほとんどは、bashビルトインを使用して実行できます。それはほとんどヌーディーがそれについて知っていて、大きな銃を持っているだけです...
詳細は http://tldp.org/LDP/abs/html/parameter-substitution.html#PSOREX1 を参照してください。
Sedの代わりに、trを使用します。
tr -d '%'
sedは最も簡単な方法の1つです
sed -i 's/\%//g' fileName
ディスク使用量が変数内にある場合、bashは変数置換の一部として削除を実行できます。
diskusagepct="60%"
echo "disk usage: ${diskusagepct%\%} percent" # prints disk usage: 60 percent
diskusagenum="${diskusagepct%\%}" # sets diskusagenum to 60