Sådan Sorterer du Mapper Før Filer med ls-Kommandoen i Unix/Linux

Hvordan kan ls-kommandoen sortere mapper før andre filtyper og eventuelt sortere filer efter filtypenavn, ligesom Windows Explorer gør?

For at sortere mapper før andre filtyper og sortere filer efter filtypenavn med ls-kommandoen, kan du kombinere ls med sort og awk, bruge find og sort, eller anvende tree-kommandoen med --dirsfirst.

Hvordan kan ls-kommandoen sortere mapper før andre filtyper og eventuelt sortere filer efter filtypenavn, ligesom Windows Explorer gør?

For at opnå en sortering med ls-kommandoen, hvor mapper vises før andre filtyper, og filer sorteres efter filtypenavn, kan du bruge en kombination af ls og andre kommandoer i Unix/Linux. Her er nogle metoder til at opnå dette:

1. Brug af ls med sort og awk

Du kan kombinere ls med sort og awk for at sortere mapper først og derefter filer efter deres filtypenavn:

ls -l | awk '/^d/ {print $0} !/^d/ {print $0}' | sort -k9
  • ls -l: Lister filer og mapper med detaljer.
  • awk '/^d/ {print $0} !/^d/ {print $0}': Sorterer mapper først.
  • sort -k9: Sorterer efter filnavn (kolonne 9).

2. Brug af ls med find og sort

En anden metode er at bruge find til at liste mapper og filer separat og derefter sortere dem:

(find . -type d; find . -type f | sort -t. -k2,2) | sort
  • find . -type d: Finder og lister alle mapper.
  • find . -type f | sort -t. -k2,2: Finder og sorterer filer efter filtypenavn.
  • sort: Sorterer den samlede liste.

3. Brug af ls med tree

Hvis du har tree-kommandoen installeret, kan du bruge den til at få en hierarkisk visning, hvor mapper vises før filer:

tree -a -F --dirsfirst
  • tree -a: Viser alle filer inklusive skjulte filer.
  • tree -F: Tilføjer en skråstreg efter mapper.
  • --dirsfirst: Viser mapper før filer.

Disse metoder giver dig mulighed for at sortere mapper før andre filtyper og sortere filer efter filtypenavn, hvilket minder om den måde, Windows Explorer gør det på.