2010-11-10 25 views

Odpowiedz

0

Jak o ...

ls -l | cut -d ' ' -f 3 | sort | uniq 
0

Spróbuj tego:

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

To wypisze nazwę użytkownika, nazwę grupy i nazwę pliku. (Nazwa pliku nie może zawierać spacji)

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

ten wypisze nazwę użytkownika, nazwę grupy i wyjście -l pełne LS, posortowanych według nazwy użytkownika, potem nazwa grupy, a następnie co ls -l drukuje pierwsze

+0

dziękuję bardzo. Drugi wykonał lewę. – brian

+0

@brian bez problemu. Umysł oznaczający to jako zaakceptowaną odpowiedź? – Alex

10

Właściciel jest trzecim polu, więc używaj -k 3:

ls -l | sort -k 3 

można rozszerzyć ten pomysł do sortowania na podstawie innych dziedzinach, i można mieć wiele -k opcje. Na przykład, może chcesz sortować według właściciela, a następnie rozmiar w porządku malejącym:

ls -l | sort -k 3,3 -k 5rn 
1

Nie jestem pewien, czy chcesz tylko właściciele lub całość informacji sortowane przez właściciela. W pierwszym przypadku rozwiązanie superfo jest prawie poprawne. Dodatkowo trzeba usunąć powtarzanie spacji z ls jest wyjście z tr bo inaczej wyciąć, który wykorzystuje je jako ogranicznik nie będzie działać we wszystkich katalogach. *

Więc w końcu można dostać to:

ls -l | tr -s ' ' | cut -d ' ' -f 3 | sort | uniq 

* Niektóre katalogi mają dwie wartości cyfra w drugim polu i wszystkie inne linie z jednej cyfry uzyskać dodatkowe spacje, aby zachować układ.

Powiązane problemy