awk
パーセンテージ数字(末尾の「%」を含む)を解析し、特定のパーセンテージを超えていることを確認する必要があります。
一般的な解析では、末尾の文字は無視されます。たとえば、次のようになります。
% echo "99%" | awk '{print ($1 + 0)}'
99
もちろんe
、数字で構成される文字列の場合は除外されます。
echo "99e4" | awk '{print ($1 + 0)}'
990000
この動作は安定しており、他のsでも同じですかawk
、それとも明示的に削除することをお勧めしますか%
?
ベストアンサー1
はい、これはAWK実装全体で安定した動作です。に記録されています。GNU AWKマニュアル次のように:
文字列の数値プレフィックスを数値(
"2.5"
2.5、1,000、25 )として解釈して、文字列を数値に変換します。有効な数値として解釈できない文字列はゼロに変換されます。"1e3"
"25fix"
また、もっと冗長ではありますが、文書化しています。POSIX仕様ではawk
。