2016-10-16 31 views
0

私は、画像を含むディレクトリとサブディレクトリを持っています(合計525画像は15フォルダにあります)。ファイルを並べ替えるツリーを並べ替えます

私はtree -Cshを使用してそれらを一覧表示します。私が今やろうとしています何

enter image description here

私は早く(高解像度の画像とのウェブサイトのための)小さすぎてどのファイルを参照しようとしていますので、サイズによってソートそれらです。あなたが見ることができるように、この写真には774KのJPGがありますが、これは小さすぎますが、このようにソートされています(完全な出力は非常に長くなります)。 ツリーはこれについての最良の方法ですか?親ディレクトリから、GNUツールを使用

答えて

1

find . -type f -iname '*.jpg' -printf '%s %p\0' | sort -z -k1,1rn | xargs -0 -n1 
  • find . -type f -iname '*.jpg' -printf '%s %p\0'は(鈍感場合)すべて.jpgファイルを検索し、そして各々と、第2のフィールドとして第1フィールドとファイル名としてバイト単位でファイルサイズを出力します記録NULで区切られ、これはNULが最初のフィールドに基づいてレコードを分離

  • sort -z -k1,1rnソートは数値なので、ファイル名を逆に彼らに改行を含むファイル名を処理するために必要とされます高いサイズは、トップ

  • xargs -0 -n1で表示されますと

+0

がこの回答をありがとう降順サイズとファイル名を出力します。それはあなたが言ったように機能します。ファイルサイズを人間が読めるように変更するにはどうすればよいですか? 2.3Mbのようなもの?私は、これが並べ替えの後に行われる必要があることを理解しています。 – leonormes

関連する問題