Jak wykonać lssortowanie według typu pliku (np. Najpierw katalogów, a następnie rozszerzenia plików)? Odpowiedzi sugerowane w (Super User) Sortuj ls według typu pliku powodują nieznane błędy opcji ls.
Jak wykonać lssortowanie według typu pliku (np. Najpierw katalogów, a następnie rozszerzenia plików)? Odpowiedzi sugerowane w (Super User) Sortuj ls według typu pliku powodują nieznane błędy opcji ls.
Odpowiedzi:
Jak się dowiedziałeś, wersja lspolecenia Darwina nie obsługuje tej -X | --sort=extensionopcji. Ta opcja jest unikalna dla wersji GNU ls.
Możesz uzyskać wersję GNU lsdla swojego systemu. Najłatwiej to zrobić za pomocą menedżera pakietów Homebrew i systemu przenoszenia. Po zainstalowaniu Homebrew:
brew install coreutils
aby dodać pakiet GNU Core Utilities do swojego systemu. Wszystkie narzędzia będą miały prefiks, gaby nie kolidowały z domyślnymi narzędziami Darwina, z którymi jest dostarczany OS X.
Po zainstalowaniu GNU Core Utilites możesz teraz:
gls -X
I zobaczysz wynik sortowany według własnego uznania.
Jeśli chcesz używać GNU Core Utils zamiast narzędzi dostarczanych z OS X, możesz wstawić następujący wiersz w ~/.bashrc pliku :
source /usr/local/Cellar/coreutils/8.14/aliases
I nie będziesz już musiał używać gprefiksu poleceń. Powiem, że nie jest to całkowicie bezpieczne, ponieważ niektóre narzędzia GNU różnią się od wbudowanych bashów i narzędzi Darwina sposobem, w jaki się zachowują, na tyle, że mogą zepsuć inne rzeczy w twojej sesji powłoki. Więc rób to ostrożnie.
Na podstawie odpowiedzi w połączonym artykule Super User :
ls -l |sort -d -k 1.1,1.1r -k 9 | cut -c 50-
Jeśli chcesz zobaczyć cały wynik ls -l, po prostu pomiń tę cutczęść.
/bin/ls.