ユニットから番号を取得するには?

ユニットから番号を取得するには?

デフォルト出力はunitsやや冗長に見えます。

$ units "2 fortnight" seconds
    * 2419200
    / 4.1335979e-07

私がそのようなことをするために数字だけが欲しいとしましょうsleep $(units "2 fortnight" seconds)units欠落している型パラメータがありますか?それとも何かにパイプを接続して数字を取得する簡単な方法はありますか?これは少なくともその要素を削除することがわかりますが、$ units "2 fortnight" seconds | head -n 1まだ余分なスペースと*

答え1

そしてGNU Units version 2.19

$ units --one-line  --compact '2 fortnight' seconds
2419200

BSDの実装はunitsありませんが、--one-line --compactawkを使用できます。

$ units '2 fortnight' seconds  | awk 'NR == 1 {print $2}'
2419200

答え2

他の答えはこの問題を解決しますが、非常に古いバージョンを使用している場合は、units次のようにすることもできます。

$ units "2 fortnight" sec | head -n 1 | grep -E "\d+" --only-matching
2419200

関連情報