Sortieren Sie die Dateien numerisch in der bash
Ich muss Sortieren .flv-Dateien werden numerisch und ich war in der Lage, es zu tun mit dem folgenden Befehl:
ls *\.flv | sort --version-sort -f
aber mit vielen Dateien(Hunderte) es ist nicht richtig einsortiert.
ls *\.flv | sort --version-sort -f | tail -n 20
e680.flv
e681.flv
e682.flv
e683.flv
e684.flv
e685.flv
e686.flv
e687.flv
e688.flv
e689.flv
e690.flv
e691.flv
e692.flv
e693.flv
e694.flv
e695.flv
**e696.flv**
s572.flv
s602.flv
s654.flv
aber das merkwürdige ist dies, wenn ich mich ruinieren Sie den Befehl ohne "*.flv"
es funktioniert.
die ich verwenden könnte, nur ls, aber ich habe andere Dateitypen in den Ordner.
ls | sort --version-sort -f | tail -n 20
e680.flv
e681.flv
e682.flv
e683.flv
e684.flv
e685.flv
e686.flv
e687.flv
e688.flv
e689.flv
e690.flv
e691.flv
e692.flv
e693.flv
e694.flv
e695.flv
e696.flv
was ich bisher ausprobiert habe:
ls | sort --version-sort -f | grep "flv"
ls *.flv | sort --version-sort -f
ls *\.flv | sort --version-sort -f
ls *.flv | sort -f
was ist das problem?
haben Sie nicht versucht, führen Sie einfach "ls *.flv | sort-f | tail-n 20 "
es würde nicht funktionieren mit dem ändern der Anzahl der Ziffern in den Dateinamen
ls *.flv | sort-f überspringt Dateien... die ich verwenden könnte, nur ls, aber ich habe andere Dateitypen in den Ordner.
e696.flv
ist an der richtigen Stelle, richtig?haben Sie nicht versucht, führen Sie einfach "ls *.flv | sort-f | tail-n 20 "
es würde nicht funktionieren mit dem ändern der Anzahl der Ziffern in den Dateinamen
ls *.flv | sort-f überspringt Dateien... die ich verwenden könnte, nur ls, aber ich habe andere Dateitypen in den Ordner.
InformationsquelleAutor Crazy_Bash | 2012-11-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde versuchen, folgenden code. Funktioniert auf meinem Test-Szenario:
Den
ls
Listen flv-Dateien 1 in jeder Zeile,sort
nimmt erste (und einzige) Wort jeder Zeile ab der zweiten Zeichens (start der Reihe). Sortiert numerischInformationsquelleAutor Kamil Šrot
Sortieren numerisch nach dem ersten Zeichen, versuchen Sie dies :
InformationsquelleAutor Nahuel Fouilleul
Gegeben, einen Ordner mit sequenziell benannten Dateien aus
1.flv
zu9999.flv
Ausgabe:
Aus der Mann Seite:
Kürze halber, die beiden flags, die oben erwähnt sind, können zusammengefasst werden als
-v1
.siehe die aktualisierte Antwort;
versions
sind nur zahlen, z.B.1.9
,2.0
,10.2
und die Angabe-v
zwingt Sie, numerisch sortiert und nicht als strings.InformationsquelleAutor ccpizza