Berücksichtigen Sie im Terminal den Wert von Zahlen, wenn Sie ls verwenden

329
termCap

Wenn Sie Verzeichnisse in Bash auflisten, möchte ich, dass der Wert von Zahlen berücksichtigt wird.

Momentan ist dies die Ausgabe, die ich bekomme:

$ ls  test_1.txt  test_11.txt  test_12.txt  test_2.txt  test_3.txt 

Wie Sie sehen, werden lsdie Werte 11 und 12 nicht in das Konto aufgenommen und vor 2 aufgeführt, obwohl es sich um größere Zahlen handelt. Gibt es eine Möglichkeit, die Ausgabe stattdessen so zu erhalten:

$ ls  test_1.txt  test_2.txt  test_3.txt test_11.txt  test_12.txt 

Ich habe die Manpage überprüft und nichts gefunden. Irgendwelche Ideen?

0

1 Antwort auf die Frage

2
grawity

In GNU coreutils lssollte die ls -vOption (version sort) dies tun.

Ansonsten müssen Sie die Ausgabe durch sort -noder leiten sort -V.

Danke, dass Sie mich in die richtige Richtung weisen. Es scheint, dass [ls -v] (http://www.gnu.org/software/coreutils/manual/html_node/Details-about-version-sort.html#Details-about-version-sort) nur von der GNU ist coreutils, da man-Seiten für die BSDs nichts dergleichen geben. Ich bin auf OSX. termCap vor 12 Jahren 0
@termCap Sie können Coreutils später mit [Homebrew] installieren (https://github.com/mxcl/homebrew/wiki/Installation). slhck vor 12 Jahren 0