Sortuj polecenia ls według typu pliku (np. Katalogów i rozszerzenia pliku)


15

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.


2
Drobne poprawki dotyczące twojego tytułu: ls nie jest poleceniem bash; jest to samodzielny plik wykonywalny zlokalizowany pod adresem /bin/ls.
bneely

Odpowiedzi:


21

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.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.