Ordina i comandi ls per tipo di file (ad es. Directory ed estensione di file)


Risposte:


21

Come hai scoperto, la versione Darwin del lscomando non supporta l' -X | --sort=extensionopzione. Questa opzione è unica per la versione GNU di ls.

Puoi ottenere la versione GNU di lsper il tuo sistema. Il modo più semplice per farlo è tramite il gestore di pacchetti Homebrew e il sistema di porting. Con Homebrew installato fai:

brew install coreutils

per aggiungere il pacchetto GNU Core Utilities al sistema. Tutti i programmi di utilità avranno il prefisso in gmodo che non si scontrino con i programmi di utilità Darwin predefiniti forniti da OS X.

Con GNU Core Utilites installato ora puoi fare:

gls -X

E vedrai l'output ordinato come desideri.

Se vuoi usare GNU Core Utils invece delle utility fornite con OS X puoi inserire la seguente riga nel tuo ~/.bashrcfile:

source /usr/local/Cellar/coreutils/8.14/aliases

E non sarà più necessario utilizzare il gprefisso sui comandi. Dirò che questa non è una cosa assolutamente sicura da fare poiché alcuni dei programmi di utilità GNU differiscono dai built-in di bash e dagli strumenti di Darwin nel modo in cui si comportano, abbastanza da poter rovinare altre cose nella tua sessione di shell. Quindi fallo con cautela.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.