これを試してください:
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 までソートします。