日付切り捨て精度

日付切り捨て精度

私はいくつかの異なるシステムでビルドの進行状況をポーリングするbashスクリプトを使用しています。ビルドが完了したらstatログファイルを生成して最後の編集時間を見つけ、dateビルドが完了したときに人間が読める出力を生成するための時間を提供します。

これはいくつかの異なるシステムで実行されるため、出力は次のようになります。

sys00 finished around:        2015-06-11 01:42:29.484345955 -0700
sys01 finished around:        2015-06-11 01:21:17.560101447 -0700
sys02 finished around:        2015-06-11 03:51:56 -0700
sys03 finished around:        2015-06-11 04:32:12 -0700
sys04 finished around:        2015-06-11 01:40:47.977893386 -0700
sys05 finished around:        2015-06-11 01:16:12.158137851 -0700

私の最初の優先順位はそれらを同じように見せることでしたが、最初と最後の2つのシステムの追加の精度が必要ではなかったので、単に切り取りたいと思いました。私はこれをしようとしましたawk

echo $TIME | awk '[0-9]{9} {gsub('', '[0-9]{9}')}' -

しかし、ほとんど成功していませんでした。私はsedそれがより適切なツールであるかどうかを判断するのに十分な慣れていません。dateそうしないように指示できるかどうかはわかりません。date現在使用しているコマンドは次のとおりです。

COMMAND='date -r `stat -f "%m" '"$BASENAME"'/../logs/catTest*.log |& head -n1` +"%Y-%m-%d %H:%M:%S %z"'

$BASENAMEログファイルの検索に使用するデフォルトパスはどこにありますか?)

月経後に迷惑な数字を削除する方法は?

ベストアンサー1

答えを得るには、sedそれを使用して小数点以下の桁数をフィルタリングできます。

sed 's/\.[0-9]\{1,\}//'

仕組み:

  • \.テキストと一致.
  • [0-9]\{1,\}1 つ以上の数字と一致

結果パターンは、「リテラル.と1つ以上の数字が続く一致」を意味し、それを何でも置き換えます。

おすすめ記事