Uso el guión bajo para denotar directorios especiales que deben ir al principio. En mi carpeta de proyectos, tengo proj_a, proj_b y _old_projects. No sirve de nada si esta carpeta está dentro de los proyectos o.
Martin Ueding
Respuestas:
9
Como comando único, puede hacer esto:
LC_COLLATE=C ls
O puede agregar export LC_COLLATE="C"a su .bashrc para que sea permanente (puede tener resultados inesperados al ordenar en otro lugar).
@dAnjou LC_COLLATE=Cls establece el orden de clasificación POSIX tradicional, que es por ASCII en el que las mayúsculas aparecen antes del guión bajo. Para que los guiones bajos se ordenen antes de las mayúsculas, debe colocarse debajo del capó y crear una definición de configuración regional personalizada en / usr / share / i18n / locales.
misterben
2
Esto puede haber funcionado en el pasado, pero no funciona en Ubuntu 12.04.
Mikel
1
A partir de Ubuntu 14.04, LC_COLLATE=C lsno funciona, pero lo LC_ALL=C lshace.
jwodder
6
En caso de que no haya una forma integrada de hacer esto, puede usar un reemplazo simple para sort:
#!/usr/bin/env python
import sys
for i in sorted(sys.stdin):
sys.stdout.write(i)
Guárdelo, por ejemplo, en /bin/pysorty hágalo ejecutable ( sudo cp whatever.py /bin/pysorty sudo chmod a+x /bin/pysort), y ejecútelo como ls | pysort:
Probablemente lo pondría ~/binpero es una buena alternativa. Probablemente sea mejor usar globbing dentro de python ya que la salida de ls puede ser extraña si un nombre de archivo contiene una nueva línea.
Martin Ueding
1
¿ ls | sortNo harías exactamente lo que necesitas?
Respuestas:
Como comando único, puede hacer esto:
LC_COLLATE=C lsO puede agregar
export LC_COLLATE="C"a su .bashrc para que sea permanente (puede tener resultados inesperados al ordenar en otro lugar).Más información en los foros de Ubuntu .
fuente
LC_COLLATE=Cls establece el orden de clasificación POSIX tradicional, que es por ASCII en el que las mayúsculas aparecen antes del guión bajo. Para que los guiones bajos se ordenen antes de las mayúsculas, debe colocarse debajo del capó y crear una definición de configuración regional personalizada en / usr / share / i18n / locales.LC_COLLATE=C lsno funciona, pero loLC_ALL=C lshace.En caso de que no haya una forma integrada de hacer esto, puede usar un reemplazo simple para
sort:Guárdelo, por ejemplo, en
/bin/pysorty hágalo ejecutable (sudo cp whatever.py /bin/pysortysudo chmod a+x /bin/pysort), y ejecútelo comols | pysort:fuente
~/binpero es una buena alternativa. Probablemente sea mejor usar globbing dentro de python ya que la salida de ls puede ser extraña si un nombre de archivo contiene una nueva línea.¿
ls | sortNo harías exactamente lo que necesitas?fuente