Como ya descubrió, la versión de Darwin del comando ls
no admite la opción -X | --sort=extension
. Esta opción es exclusiva de la versión GNU de ls
.
Puede obtener la versión GNU de ls
para su sistema. La forma más sencilla de hacerlo es a través del Homebrew administrador de paquetes y sistema de transferencia. Con Homebrew instalado hacer:
brew install coreutils
para agregar el paquete GNU Core Utilities a su sistema. Todas las utilidades tendrán el prefijo g
para que no coincidan con las utilidades predeterminadas de Darwin con las que OS X viene.
Con GNU Core Utilites instalado, ahora puedes hacerlo:
gls -X
Y verás la salida ordenada como desees.
Si desea utilizar las Utilidades básicas de GNU en lugar de las utilidades que vienen con OS X, puede poner la siguiente línea en su archivo ~/.bashrc
:
source /usr/local/Cellar/coreutils/8.14/aliases
Y ya no necesitarás usar el prefijo g
en los comandos. Diré que esto no es algo completamente seguro ya que algunas de las utilidades de GNU se diferencian de las funciones integradas de bash y las herramientas de Darwin en la forma en que se comportan, lo suficiente para que puedan arruinar otras cosas en su sesión de shell. Así que haz esto con precaución.