「ツリー」コマンドラインツールを使用して、最小のものから最大のものまでソートする方法は?

「ツリー」コマンドラインツールを使用して、最小のものから最大のものまでソートする方法は?

tree最大値から最小値まで並べ替えるには、コマンドラインツールでどのオプションを使用する必要がありますか?

├── [4.0K]  types2
│   └── [ 116]  types2.go
├── [4.0K]  types3
│   ├── [ 689]  types3.go
│   └── [   0]  types3.go~
├── [4.0K]  web
│   ├── [ 149]  index.html
│   ├── [ 647]  web.go
│   └── [   0]  web.go~
├── [4.0K]  wordcount
│   ├── [ 996]  wordcount.go
│   └── [ 773]  wordcount.go~
└── [4.0K]  zero
   ├── [  97]  zero.go
   └── [5.8K]  zero.o

ベストアンサー1

ツリーツールはサイズによるソートを直接サポートしていませんが、それでも使用できます。そしてタイプ。

次のコマンドを使用して、特定のフォルダとサブフォルダ内のすべてのファイルを対応するパスとファイルサイズと共に一覧表示し、使用できます。タイプ2番目の列に基づいてソートするツール出力(つまり、このサイズはすべての項目の最初の列です。[シンボル)。私たちは使用grep特定の拡張子を持つファイルのみがここでフィルタリングされます。

これはコマンドです:

tree -sifF /opt/aplicaciones/gio/ | grep -v '/$' | grep ".jar"  | sort -k2 -rn

以下は、これがどのように機能するかを確認できる複数のファイルを含むサンプル出力です。

[   89702805]  /myapp/first_folder/artifact/this-is-a-file-number-1.jar
[   89511250]  /myapp/first_folder/artifact/this-is-a-file-number-2_22_11_2022.jar
[   89508457]  /myapp/first_folder/artifact/this-is-a-file-number-2.jar
[   89487284]  /myapp/first_folder/artifact/this-is-a-file-number-2_backup.jar
[   73631126]  /myapp/first_folder/artifact/this-is-a-file-number-3.jar
[   73416714]  /myapp/first_folder/artifact/this-is-a-file-number-4.jar
[   72904056]  /myapp/second_folder/artifact/this-is-a-file-number-5.jar
[   72870839]  /myapp/second_folder/artifact/this-is-a-file-number-6.jar
[   72824807]  /myapp/second_folder/artifact/this-is-a-file-number-7.jar
[   72822778]  /myapp/second_folder/artifact/this-is-a-file-number-8.jar
[   72822392]  /myapp/second_folder/artifact/this-is-a-file-number-9.jar
[   72822125]  /myapp/second_folder/artifact/this-is-a-file-number-10.jar
[   72821288]  /myapp/second_folder/artifact/this-is-a-file-number-11.jar
[   72808348]  /myapp/first_folder/artifact/this-is-a-file-number-12.jar
[   72794504]  /myapp/second_folder/artifact/this-is-a-file-number-13.jar
[   70309496]  /myapp/first_folder/artifact/this-is-a-file-number-14.jar
[   70298847]  /myapp/first_folder/artifact/this-is-a-file-number-15.jar
[   70286111]  /myapp/first_folder/artifact/this-is-a-file-number-16.jar
[   70283872]  /myapp/first_folder/artifact/this-is-a-file-number-17.jar
[   70281102]  /myapp/first_folder/artifact/this-is-a-file-number-18.jar
[   70275702]  /myapp/first_folder/artifact/this-is-a-file-number-19.jar
[   70274483]  /myapp/first_folder/artifact/this-is-a-file-number-20.jar
[   70273588]  /myapp/first_folder/artifact/this-is-a-file-number-21.jar
[   70273058]  /myapp/first_folder/artifact/this-is-a-file-number-22.jar
[   70271031]  /myapp/first_folder/artifact/this-is-a-file-number-23.jar
[   70265460]  /myapp/first_folder/artifact/this-is-a-file-number-24.jar
[   70090818]  /myapp/first_folder/artifact/this-is-a-file-number-25.jar
[   69510384]  /myapp/first_folder/artifact/this-is-a-file-number-26.jar
[   68674140]  /myapp/first_folder/artifact/this-is-a-file-number-27.jar
[   68367619]  /myapp/second_folder/artifact/this-is-a-file-number-28.jar
[   65897101]  /myapp/first_folder/artifact/this-is-a-file-number-29.jar
[   65011678]  /myapp/first_folder/artifact/this-is-a-file-number-30.jar
[   65010373]  /myapp/second_folder/artifact/this-is-a-file-number-31.jar
[   51954261]  /myapp/second_folder/artifact/this-is-a-file-number-32__test.jar
[   48092911]  /myapp/second_folder/artifact/this-is-a-file-number-32.jar
[   43081254]  /myapp/second_folder/artifact/this-is-a-file-number-33.jar
[   23357588]  /myapp/third_folder/artifact/this-is-a-file-number-34.jarA
[   23357588]  /myapp/third_folder/artifact/this-is-a-file-number-34.jar

ここで使用されるオプションの説明は次のとおりです。

男性の場合は約。:

  • -S各ファイルのサイズ(バイト)と名前を印刷します。
  • -私ツリーがインデント行を印刷しないようにし、-fオプションと一緒に使用すると便利です。
  • - F各ファイルのフルパスプレフィックスを印刷します。
  • - Fディレクトリの場合は「/」、ソケットファイルの場合は「=」、実行ファイルの場合は「*」、実行ファイルの場合は「|」を追加します。 FIFO の場合、ls -F に従います。

~についてタイプ:

  • -K--key=POS1[,POS2] POS1 (開始点 1) でキーを開始し、POS2 (基本行末) で終了します。つまり、空白で区切られた列として処理するだけです。
  • -アル字型- 逆方向逆比較結果
  • -N--numeric-sort 文字列数値による比較

おすすめ記事