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