find コマンドを使用して、名前に文字列が含まれるファイルを一覧表示しています。
find ~/ -type f -name "*inductive*"
パイプを使用して、結果のファイル一覧を並べ替えたいと思います。ファイル サイズ、作成日、アクセス日などで並べ替えられるようにしたいと思います。どうすればいいでしょうか? よろしくお願いします。
答え1
Linuxでは、出力を作成時間でソートすることは不可能です(ctime
ファイルの作成日ではありません)。stat
ファイルの出生時間%w
およびフォーマット タグを使用します%W
が、作成時間/誕生時間を保存するファイルシステムであっても、それぞれ常に-
および が表示されます0
。したがって、Linux ではこの目的にはほとんど役に立ちません。
ただし、他の 2 つの並べ替え順序も可能です。
# Sort by size:
find ~/ -type f -name "*inductive* -exec ls -ltu {} \; | sort -k 5 -n
# Sort by access time:
find ~/ -type f -name "*inductive* -exec ls -ltu {} \; | sort -k 6 -M
-r
フラグを追加すると、sort
並べ替え順序を逆にすることができます。man sort
詳細については、 を参照してください。
の出力のサイズによっては、ソートされた出力を生成するfind
のに時間がかかる場合があります。sort