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

ls を所有者とグループでソートするにはどうすればよいですか?

これを試してください:

ls -l | awk '{print $3, $4, $8}' | sort

ファイル名にスペースが含まれていない場合、ユーザー名、グループ名、およびファイル名が出力されます。または、次のように入力することもできます:

ls -l | awk '{print $3, $4, $0}' | sort

これにより、ユーザー名、グループ名、および完全な ls -l が出力されます 出力。最初にユーザー名、次にグループ名、次に任意の ls -l でソートされます 最初に印刷します。

ディストリビューションによっては、実際の列番号が異なる場合があることに注意してください。 SUSE と coreutils バージョン 5.2.1 で試してみました。

より優れた、より精巧な解決策があるかもしれませんが、これが最も簡単な解決策であり、ほとんどの場合うまくいきます。


Petersohn が言ったように、次のようなもの:

  • ls -l | awk '{print $3, $4, $8, $0}' | sort | column -t
    $8 を追加 そして column -t プリティ プリント用

またはさらに良い:

  • ls -l | sort -k 3 - 所有者で並べ替え、デフォルトで次のフィールド (グループ) 以降を並べ替えます
  • ls -l | sort -k 4,4 -k 3 - グループ順、次に所有者順
  • ls -l | sort -k 3,3 -k 8 - 所有者、次にファイル名でソート

注: コンマはターミネータ フィールドなので 3,3 フィールド 3 3,5 で開始および終了 フィールド 3 から 5 までソートします。


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

  2. FreeIPAサーバーでユーザーとグループを管理する方法

  3. ディレクトリの所有者とグループを見つける方法は?

  1. C で所有者とグループを変更しますか?

  2. Linux でファイルとディレクトリのサイズを確認するにはどうすればよいですか?

  3. psを印刷グループにするにはどうすればよいですか?

  1. Linuxでユーザーグループを作成および削除する方法

  2. 最初に ls でドットファイルを表示するにはどうすればよいですか?

  3. du -h 出力をサイズでソートするにはどうすればよいですか