log.txt
次のサンプル出力があります。
...
10-Feb-2022 15:15:14.099 lorem
10-Feb-2022 15:15:15.133 ipsum
10-Feb-2022 15:15:16.233 dolor
...
フィルタリングされたlog.txtの出力は次のようになると予想しました。
...
1644480914 lorem
1644480915 ipsum
1644480916 dolor
...
日付文字列をタイムスタンプに変換する方法を見つけました。
date --date='10-Feb-2022 15:15:14.099' +"%s"
Output:
1644480914
私の脳はまだその日付コマンドをlog.txtに適用する方法を理解していません。
また、その日付コマンドをどのようにパイプしますか?
printf "10-Feb-2022 15.15.17.012 water" | date --date=<what must i put here?> + "%s"
パイプラインコマンドの出力は、他の列を妨げないことを除いて同じであると予想されます。1644480917 water
答え1
あなたのコマンドは、日付/時刻を渡すdate
オプションを許可するように見えます。-d
次のことを試してください
cut -d' ' -f-2 file | date +%s -f- | paste -d' ' - file | cut -d' ' -f1,4-
1644502514 lorem
1644502515 ipsum
1644502516 dolor
cut
入力から日付/時刻フィールドを取得し(readDATEFILE)オプションを使用してコマンドに入力し、date
それを入力ファイルに返し、前の日付/時刻フィールドを出力します。-f
paste
cut