¿Cómo hago para ls
ordenar por tipo de archivo (por ejemplo, directorios primero y luego por extensión de archivo)? Las respuestas sugeridas en (Superusuario) Hacer ls ordenar por tipo de archivo dan como resultado errores de opción desconocidos ls
.
15
/bin/ls
.Respuestas:
Como descubrió, la versión Darwin del
ls
comando no admite la-X | --sort=extension
opción. Esta opción es exclusiva de la versión GNU dels
.Puede obtener la versión GNU de
ls
su 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:para agregar el paquete GNU Core Utilities a su sistema. Todas las utilidades tendrán el prefijo
g
para que no choquen con las utilidades predeterminadas de Darwin con las que se incluye OS X.Con GNU Core Utilites instalado, ahora puede hacer:
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
~/.bashrc
archivo:Y ya no necesitará usar el
g
prefijo 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.fuente
Basado en una respuesta en el artículo de Superusuario vinculado :
Si desea ver la salida completa de
ls -l
, simplemente omita lacut
parte.fuente