Risposte:
Prova questo:
ls -l | awk '{print $3, $4, $8}' | sort
Stampa il nome utente, il nome del gruppo e il nome del file, a condizione che il nome del file non contenga spazi. In alternativa, puoi digitare:
ls -l | awk '{print $3, $4, $0}' | sort
Questo stamperà il nome utente, il nome del gruppo e l' ls -l
output completo , ordinati prima per nome utente, quindi per nome del gruppo, quindi per ls -l
prima cosa viene stampato.
Si noti che a seconda della distribuzione, i numeri di colonna effettivi potrebbero differire. Ho provato il mio in SUSE e coreutils versione 5.2.1.
Probabilmente ci sono soluzioni migliori, più elaborate, ma questa è la più semplice e funzionerà per la maggior parte del tempo.
Come diceva petersohn, qualcosa di simile a:
ls -l | awk '{print $3, $4, $8, $0}' | sort | column -t
$8
e il column -t
per la stampa carinaO ancora meglio:
ls -l | sort -k 3
- ordina per proprietario e per impostazione predefinita ordina il campo (gruppo) successivo e attivols -l | sort -k 4,4 -k 3
- ordina per gruppo e quindi per proprietariols -l | sort -k 3,3 -k 8
- ordina per proprietario e quindi per nome fileNota: la virgola è il campo di terminazione, quindi 3,3
inizia e termina nel campo 3 3,5
ordina dai campi da 3 a 5.