GNU/Linux >> Linux の 問題 >  >> Linux

ファイルを再帰的にリストし、変更時間でソートする方法は?

find を使用 の -printf 妥当な日付形式で並べ替えます:

find -type f -printf '%T+\t%p\n' | sort -n

これにより、プロセスのフォークが最小限に抑えられるため、最速になります。

小数秒部分が気に入らない場合の例 (ファイル システムに実装されていないことが多い):

find -type f -printf '%T+\t%p\n' | sed 's/\.[[:digit:]]\{10\}//' | sort -n
find -type f -printf '%T+\t%p\n' | cut --complement -c 20-30 | sort -n

編集: 標準 find Mac では -printf がありません .しかし、GNU find を Mac にインストールすることは難しくありません (Mac/Linux の互換性と xargs に関する注意事項については、そのリンクも参照してください)。 ).


stat を使用した方法は次のとおりです。 @johnshen64が提案したように

find . -type f -exec stat -f "%m%t%Sm %N" '{}' \; | sort -rn | head -20 | cut -f2-

Linux
  1. findおよびduコマンドを使用してLinuxで大きなファイルを検索する方法

  2. ファイルを検索して tar (スペースを含む)

  3. Linuxでパーティションのすべてのファイルを一覧表示する方法は?

  1. Linuxで変更日時に基づいてファイルを検索およびソートする方法

  2. ディレクトリとサブディレクトリ内のファイル数を見つける方法

  3. Linuxでディレクトリを再帰的に検索および削除する方法

  1. Linuxでのアクセス、変更日時に基づいてファイルを検索して並べ替える

  2. 特定の時間内に変更されたファイルを一覧表示するにはどうすればよいですか?

  3. すべてのファイルとディレクトリを再帰的に一覧表示する方法