"YYYY-MM-DDTHH:MM:SS.fffffffffZ"
一部のデータに続く形式のナノ秒解像度タイムスタンプを含むcsvファイルがあります。
2021-04-26T09:30:04.786235633Z,102
2021-04-26T09:30:04.786235633Z,524
2021-04-26T09:30:04.786235633Z,566
2021-04-26T09:30:04.791050014Z,391
2021-04-26T09:30:09.882687589Z,922
2021-04-26T09:30:09.886405549Z,744
2021-04-26T09:30:09.886405549Z,702
2021-04-26T09:30:14.986237837Z,436
2021-04-26T09:30:14.986237837Z,636
2021-04-26T09:30:14.986298532Z,353
2021-04-26T09:30:14.986298532Z,445
2021-04-26T09:30:14.986298532Z,785
2021-04-26T09:30:14.986298532Z,917
2021-04-26T09:30:20.086229659Z,195
2021-04-26T09:30:20.086229659Z,228
2021-04-26T09:30:20.086229659Z,486
2021-04-26T09:30:20.086229659Z,41
2021-04-26T09:30:20.086229659Z,421
2021-04-26T09:30:20.090214746Z,386
2021-04-26T09:30:25.186477272Z,678
2021-04-26T09:30:25.186477272Z,198
2021-04-26T09:30:25.190264104Z,459
2021-04-26T09:30:25.190460283Z,123
2021-04-26T09:30:25.190460283Z,318
2021-04-26T09:30:26.442994013Z,200
そんな風に扱いたいです。1秒あたりの最後の行出力は次のとおりです。
2021-04-26T09:30:04.791050014Z,391
2021-04-26T09:30:09.886405549Z,702
2021-04-26T09:30:14.986298532Z,917
2021-04-26T09:30:20.090214746Z,386
2021-04-26T09:30:25.190460283Z,318
2021-04-26T09:30:26.442994013Z,200
awkなどのツールを使用してこれを実行できますか?
ベストアンサー1
GNUを使用すると、sort
次のことができます。
<file.csv sort -r | sort -suk1,1.19
つまり、sort
結果を逆順に並べ替えますが、最初の19文字だけを考慮してサブ秒を無視し(固有の場合)、最初の文字(古い新しい文字と安定した文字のために大きい文字になる-u
)の順序を選択します。 )同じ19文字のキーを持つものです。sort
-s
また、最初の行の前の行部分をソートキーとして選択する-k1,1.19
こともできます。-t. -k1,1
.
入力ファイルがすでに時系列でソートされている場合は、最初のファイルを(または一部のシステムでは)sort
置き換えることができます。tac
tail -r