時間でソートされたディレクトリ内の最初の100個のファイルを一覧表示する最良の方法

user9565

作成されたタイムスタンプ(最も古いものから順に)でソートされたディレクトリ内の最初の100個のファイルを一覧表示する最良の方法は何でしょうか。ディレクトリは非常に大きいです(約100000ファイル)。

LSはにパイプヘッド完了するまでにひどい長い時間がかかります。

編集:

  • ファイルシステムはext3です。
  • フォルダ内のファイルの数を制限することは、まれな「クリーンアップ」操作であり、ファイルはサードパーティのソフトウェアによって生成されるため、努力する価値はありません。
  • 作成時間の代わりにファイル変更時間を使用すると、許容できる解決策が提供されます。

ミケル

あなたは「頭にパイプでつながれたlsは完了するのに非常に長い時間がかかる」と言います。

これの原因はではなくls、ディレクトリ内のファイルの数です。1つのディレクトリに100,000個のファイルがある場合、この問題を解決するには、ファイルの並べ替えや出力の印刷を検討する前に、100,000個のファイルすべてに関する情報を取得する必要があります。

時間がかかりすぎる場合、実際の解決策はファイルを複数のディレクトリに分割することです。

ファイルを複数のディレクトリに分散できない場合、検討するファイルの数を絞り込む方法はありますか?たとえば、ファイル名に日付が含まれている場合は、ワイルドカードを含めて、システムが100,000個のファイルを並べ替える必要がないようにすることができます。それとも、順番に番号が付けられているのでしょうか?(これは役立つ場合と役に立たない場合がありますが、試す価値があります。)

これを何回しようとしていますか?多分それは再利用のために出力を保存/キャッシュする価値があります


さて、質問です。

あなたは必ず、あなたが「変更時間」「作成時間」を意味していませんかほとんどのツールは「変更時間」のみを表示でき、「作成時間」は表示できません。

「作成時間」を取得することは非常に新しいことであり、ext4ファイルシステムとインストールが簡単ではないいくつかのツールが必要です。


時間を変更したい場合

変更時間(略してctime)は、ファイルの属性が最後に変更された時間を意味します。

ls -c ctimeでソートします。

降順ではなく昇順で出力する必要があるため、-rオプションを使用して出力を逆にする必要もあります。

だからあなたはこのようにそれを行うことができます:

ls -cr | head -n 100

を使用した同じ問題のより長い解決策stat

find . -mindepth 1 -maxdepth 1 -exec stat -c $'%Z\t%n' '{}' \; |
    sort -k 1n |
    cut -f 2 -d $'\t' |
    head -n 10 |
    sed -e 's/^\.\///'

しかし、それはls -cr私のシステムよりも遅くなります。


変更時間が必要な場合

変更時間(略してmtime)は、ファイルの内容が最後に変更された時間を意味します。

ls -t mtimeでソートします。

変更ls -crls -tr(最良のオプション)または変更stat -c $'%Z\t%n'しますstat -c $'%Y\t%n'


作成時間が必要な場合

(略してcrtime)

これは難しいです。

まず、ディレクトリがを使用してフォーマットされたファイルシステム上にあることを確認しext4ます。tune2fs -l <device name>これを確認するために使用できます

次に、statと呼ばれる新しい形式%Wがあります。これは、ここで役立ちます。入手するには、2010年10月以降にリリースされたバージョンのGNU Coreutilsをダウンロードし、解凍してコンパイルし、インストールする必要があります。

次に、カーネルによっては、これ機能する場合があります(試していません)。

find . -mindepth 1 -maxdepth 1 -exec stat -c $'%W\t%n' '{}' \; |
    sort -k 1n |
    cut -f 2 -d $'\t' |
    head -n 10 |
    sed -e 's/^\.\///'

参照:


についてエラーが発生した場合 "'$\t'

'$\t'表記は必要ですbashzsh:それはでは動作しませんdashshUbuntuで。あなたが本当にこれらのシェルを使用する必要がある場合は、いずれかを変更する必要があります\tCtrl+ VTabおよびリードを削除する$だけでオープニング引用符の前から。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

時間でソートされたディレクトリ内の最初の100個のファイルを一覧表示する最良の方法

分類Dev

ディレクトリ内の拡張子のすべてのファイルを一覧表示するための最良の方法は何ですか?

分類Dev

Linux:特定のディレクトリを時間でソートし、ファイル/ディレクトリのサイズを一覧表示する方法

分類Dev

特定の時間でディレクトリのないファイルを一覧表示する方法

分類Dev

100個のファイルがあるディレクトリからコンソールに「n」個のファイル名を一覧表示するためのwindowscmdプロンプトコマンドとは何ですか

分類Dev

作業ディレクトリの最初のn個のファイルを一覧表示する

分類Dev

特定のディレクトリで最後に変更されたファイルを再帰的に一覧表示する方法

分類Dev

ループ内のディレクトリ内の最も古いファイルを一覧表示します

分類Dev

ディレクトリ内のファイルのみを一覧表示する

分類Dev

n個の最大のディレクトリからファイルを一覧表示する方法は?

分類Dev

PHPを使用してディレクトリ内のファイルを一覧表示しますが、最初の100ファイルはスキップします

分類Dev

最適な方法で取得されたディレクトリ内の最初のファイルの名前

分類Dev

リポジトリ内のファイル/ディレクトリを一覧表示する方法は?

分類Dev

FileNameFilterを使用してディレクトリ内の最新のファイルを一覧表示する方法

分類Dev

AzureファイルストレージSMBがディレクトリ内のファイルの一覧表示に時間がかかる

分類Dev

現在のディレクトリ内のファイルを一覧表示する方法は?

分類Dev

ディレクトリ内のファイルの数を数える最良の方法は何ですか?

分類Dev

Javaを使用してディレクトリ内のN個のファイルのみを一覧表示する方法

分類Dev

Javaを使用してディレクトリ内のN個のファイルのみを一覧表示する方法

分類Dev

これは、Pythonのディレクトリ(最終的なサブディレクトリを含む)内のすべての.mp3ファイルを一覧表示する効率的な方法ですか?

分類Dev

ディレクトリ内の特定の日付範囲を使用して変更されたファイルを一覧表示する

分類Dev

作成時刻でソートされたディレクトリ内のファイルのリスト

分類Dev

プレフィックスがファイルの行と一致する場合にのみ、時間でソートされたファイルの一覧表示

分類Dev

ディレクトリにあるファイルの数を数えるための最もリソース効率の良い方法は何ですか?

分類Dev

ファイルのディレクトリを作成日でソートされたテキストファイルに一覧表示しますが、ファイルに作成作成日は表示されません

分類Dev

ディレクトリ内のサーバー上のファイル名を一覧表示するにはどうすればよいですか?

分類Dev

Androidディレクトリ内のファイルを一覧表示する方法は?

分類Dev

Dropbox-ディレクトリ内のファイルを一覧表示する方法

分類Dev

Dropbox API v2 Android - サブディレクトリ内のファイルを一覧表示する方法

Related 関連記事

  1. 1

    時間でソートされたディレクトリ内の最初の100個のファイルを一覧表示する最良の方法

  2. 2

    ディレクトリ内の拡張子のすべてのファイルを一覧表示するための最良の方法は何ですか?

  3. 3

    Linux:特定のディレクトリを時間でソートし、ファイル/ディレクトリのサイズを一覧表示する方法

  4. 4

    特定の時間でディレクトリのないファイルを一覧表示する方法

  5. 5

    100個のファイルがあるディレクトリからコンソールに「n」個のファイル名を一覧表示するためのwindowscmdプロンプトコマンドとは何ですか

  6. 6

    作業ディレクトリの最初のn個のファイルを一覧表示する

  7. 7

    特定のディレクトリで最後に変更されたファイルを再帰的に一覧表示する方法

  8. 8

    ループ内のディレクトリ内の最も古いファイルを一覧表示します

  9. 9

    ディレクトリ内のファイルのみを一覧表示する

  10. 10

    n個の最大のディレクトリからファイルを一覧表示する方法は?

  11. 11

    PHPを使用してディレクトリ内のファイルを一覧表示しますが、最初の100ファイルはスキップします

  12. 12

    最適な方法で取得されたディレクトリ内の最初のファイルの名前

  13. 13

    リポジトリ内のファイル/ディレクトリを一覧表示する方法は?

  14. 14

    FileNameFilterを使用してディレクトリ内の最新のファイルを一覧表示する方法

  15. 15

    AzureファイルストレージSMBがディレクトリ内のファイルの一覧表示に時間がかかる

  16. 16

    現在のディレクトリ内のファイルを一覧表示する方法は?

  17. 17

    ディレクトリ内のファイルの数を数える最良の方法は何ですか?

  18. 18

    Javaを使用してディレクトリ内のN個のファイルのみを一覧表示する方法

  19. 19

    Javaを使用してディレクトリ内のN個のファイルのみを一覧表示する方法

  20. 20

    これは、Pythonのディレクトリ(最終的なサブディレクトリを含む)内のすべての.mp3ファイルを一覧表示する効率的な方法ですか?

  21. 21

    ディレクトリ内の特定の日付範囲を使用して変更されたファイルを一覧表示する

  22. 22

    作成時刻でソートされたディレクトリ内のファイルのリスト

  23. 23

    プレフィックスがファイルの行と一致する場合にのみ、時間でソートされたファイルの一覧表示

  24. 24

    ディレクトリにあるファイルの数を数えるための最もリソース効率の良い方法は何ですか?

  25. 25

    ファイルのディレクトリを作成日でソートされたテキストファイルに一覧表示しますが、ファイルに作成作成日は表示されません

  26. 26

    ディレクトリ内のサーバー上のファイル名を一覧表示するにはどうすればよいですか?

  27. 27

    Androidディレクトリ内のファイルを一覧表示する方法は?

  28. 28

    Dropbox-ディレクトリ内のファイルを一覧表示する方法

  29. 29

    Dropbox API v2 Android - サブディレクトリ内のファイルを一覧表示する方法

ホットタグ

アーカイブ