回答:
これを試して:
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に並べ替えます。