Como descubrió, la versión Darwin del lscomando no admite la -X | --sort=extensionopción. Esta opción es exclusiva de la versión GNU de ls.
Puede obtener la versión GNU de lssu sistema. La forma más fácil de hacerlo es a través del administrador de paquetes Homebrew y el sistema de portabilidad. Con Homebrew instalado haz:
brew install coreutils
para agregar el paquete GNU Core Utilities a su sistema. Todas las utilidades tendrán el prefijo gpara que no choquen con las utilidades predeterminadas de Darwin con las que se incluye OS X.
Con GNU Core Utilites instalado, ahora puede hacer:
gls -X
Y verá la salida ordenada como desee.
Si desea utilizar GNU Core Utils en lugar de las utilidades que vienen con OS X, puede poner la siguiente línea en su ~/.bashrcarchivo:
source /usr/local/Cellar/coreutils/8.14/aliases
Y ya no necesitará usar el gprefijo en los comandos. Diré que esto no es algo completamente seguro, ya que algunas de las utilidades de GNU difieren de las herramientas integradas de bash y las herramientas de Darwin en su comportamiento, lo suficiente como para que puedan arruinar otras cosas en su sesión de shell. Hazlo con precaución.
/bin/ls.