ファイルが生成された時間+日付でgrep出力をソートする方法は?

ファイルが生成された時間+日付でgrep出力をソートする方法は?

このコマンドを実行すると

grep _rlnAveragePmax *model*

私は次のような結果を得ます。

run_ct6_it006_model.star:_rlnAveragePmax                             0.153500
run_ct6_it007_model.star:_rlnAveragePmax                             0.096772
run_it000_model.star:_rlnAveragePmax                             0.000000
run_it001_model.star:_rlnAveragePmax                             0.008995
run_it002_model.star:_rlnAveragePmax                         2.517429e-04
run_it003_model.star:_rlnAveragePmax                             0.003727
run_it004_model.star:_rlnAveragePmax                             0.056681
run_it005_model.star:_rlnAveragePmax                             0.109754
run_it006_model.star:_rlnAveragePmax                             0.153500

ただし、上記の出力はアルファベット順にソートされます。生成時間+日付に基づいてソートした場合、出力は次のようになります。

run_it000_model.star:_rlnAveragePmax                             0.000000
run_it001_model.star:_rlnAveragePmax                             0.008995
run_it002_model.star:_rlnAveragePmax                         2.517429e-04
run_it003_model.star:_rlnAveragePmax                             0.003727
run_it004_model.star:_rlnAveragePmax                             0.056681
run_it005_model.star:_rlnAveragePmax                             0.109754
run_it006_model.star:_rlnAveragePmax                             0.153500
run_ct6_it006_model.star:_rlnAveragePmax                             0.153500
run_ct6_it007_model.star:_rlnAveragePmax                             0.096772

生成時間+日付で出力をソートするには、grepコマンドで何をすべきですか?

ベストアンサー1

macOSを実行しない限り、ファイル作成日は保存されません。ファイルを編集すると、通常は古いバージョンを置き換える新しいファイルが生成されるため、概念は明確に定義されていません。記録された日付は、ファイルが最後に変更された日付です(初期作成およびその後の編集を含む)。

修正時間でファイルをソートする最も簡単な方法は、次のように実行することです。扱いにくい(bash、ksh、またはFishなどの強力な他のシェルとは対照的です)zshで使用できますグローバル予選たとえば、Om変更時刻に基づいてファイルを並べ替えます(最も古いもの、Om最も若いものから)。

grep _rlnAveragePmax *model*(Om)

grepファイルはコマンドラインで指定された順序でナビゲートされるため、必要な結果が得られます。

おすすめ記事