Ich versuche, den Sortierbefehl (5.97) zu verwenden, um eine Datenspalte und dann eine andere zu sortieren.
Ich mache gerade:
> ls test/2/*.jpg | sort -t- -k1 -g -s
test/2/0-0.jpg
test/2/0-10.jpg
test/2/0-1.jpg
test/2/0-2.jpg
test/2/0-3.jpg
test/2/0-4.jpg
test/2/0-5.jpg
test/2/0-6.jpg
test/2/0-7.jpg
test/2/0-8.jpg
test/2/0-9.jpg
test/2/1-0.jpg
test/2/1-10.jpg
test/2/1-1.jpg
test/2/1-2.jpg
test/2/1-3.jpg
test/2/1-4.jpg
test/2/1-5.jpg
test/2/1-6.jpg
test/2/1-7.jpg
test/2/1-8.jpg
test/2/1-9.jpg
test/2/2-0.jpg
test/2/2-10.jpg
test/2/2-1.jpg
test/2/2-2.jpg
test/2/2-3.jpg
test/2/2-4.jpg
test/2/2-5.jpg
test/2/2-6.jpg
test/2/2-7.jpg
test/2/2-8.jpg
test/2/2-9.jpg
Aber wie Sie sehen, befinden sich die zweistelligen Zahlen an der falschen Stelle. Gibt es eine Möglichkeit, dies mit sort zu tun?
ls test/2/*.jpg | sort -t- -k1 -k2 -g -s
undls test/2/*.jpg | sort -t- -k2 -k1 -g -s
gib mir das gleiche Ergebnis: test / 2 / 0-0.jpg test / 2 / 1-0.jpg test / 2 / 2-0.jpg test / 2 / 3-0.jpg test / 2 / 4- 0.jpg Test / 2 / 5-0.jpg Test / 2 / 0-1.jpg Test / 2 / 1-1.jpg Test / 2 / 2-1.jpg Test / 2 / 3-1.jpg Test / 2 / 4-1.jpg test / 2 / 5-1.jpg etc. Ich möchte, dass es umgekehrt ist.sort -t- -n -k1 -k2
sicher, dass Ihre Felder als Zahlen interpretiert werden. Beide bisher veröffentlichten Antworten haben dies erwähnt.-n
gibt das gleiche ErgebnisHey, der Grund, warum es nicht sortiert wird, ist, dass der Sortierbefehl keine Zahlen in jeder Zeile identifizieren kann. Es betrachtet es als eine Saite. Versuchen Sie, denselben Befehl mit entferntem Suffix .jpg auszuführen. Sie erhalten die Bestellung, die Sie beabsichtigen. Siehe http://www.softpanorama.org/Tools/sort.shtml . Lesen Sie in diesem Link den Abschnitt Bestelloptionen (Option -n). Hoffe das löst dein Problem.
quelle