Bash - Liste und Sortieren Sie die Dateien und Ihre Größen und Namen und Größe
Ich bin versucht, herauszufinden, wie das Sortieren einer Liste von Dateien nach name und Größe.
Wie kann ich Sortieren nach Dateiname und Größe mit "du-ein" und nicht Verzeichnisse anzeigen?
Mit "du-ein"
1 ./locatedFiles
0 ./testDir/j.smith.c
0 ./testDir/j.smith
1 ./testDir/sampleFunc/arrays
2 ./testDir/sampleFunc
0 ./testDir/j.smith.txt
0 ./testDir/testing
0 ./testDir/test2
0 ./testDir/test3
0 ./testDir/test1
0 ./testDir/first/j.smith
0 ./testDir/first/test
1 ./testDir/first
1 ./testDir/second
1 ./testDir/third
6 ./testDir
Wie kann ich alle Dateien ohne Verzeichnisse, Dateien hinzufügen, Größen und Sortieren von Dateien mit dem Nachnamen, dann nach Größe?
Vielen Dank für Ihre Hilfe
Wollen Sie es sortiert nach dem Dateinamen? oder Pfad?
InformationsquelleAutor jao | 2012-03-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese:
Erklärung:
Dann durch Sortieren, welche Arten in der Reihenfolge, die oben gegeben werden, (z.B. Datei-name, dann die Größe der Datei, dann Datei-Pfad). Die Ausgabe wäre etwas wie diesem (Teil der Ausgabe angezeigt):
Hoffe, das hilft
Cool, freue mich zu helfen!
Ausgezeichnete Antwort, die mir geholfen haben als gut. Danke!!!
Danke @Tastybrownies - froh, dass es geholfen hat!
InformationsquelleAutor icyrock.com
Können Sie die
sort
BefehlSortieren Sie nach dem zweiten Feld(name), dann erste Feld(Größe) numerisch.
sort
Optionen (sinngemäß) sind erforderlich für die-printf
Methode als gut. Möglicherweise möchten Sie auch dann Felder entfernen, z.B. mitcut
oder so.Sie können
--max-depth=1
zudu
beschränken sich nur auf den aktuellen Ordner, aber es werden immer noch Ordner, aber nicht deren Inhalt.InformationsquelleAutor kev
Als die anderen Antworten bisher sagen, das ist nicht wirklich ein bash-problem.
du
ziemlich nachdrücklich auf, die Sie über die Verzeichnisse: wenn Sie es auf ein Verzeichnis, dann mit oder ohne-a
es wird es Ihnen mitteilen.Wenn Sie die GNU
du
aber können Sie sagen, es zu Lesen eine Liste der NUL-terminierte Dateinamen von stdin verwenden, so können Siefind
zum erzeugen der Liste:find ... -print0 | du --files0-from=-
(Sie brauchen nicht die-a
Flagge hier). (Wenn Sie nicht über die--files0-from
option können Sie aufrufendu
relativ effizient mitxargs
; siehexargs
- Dokumentation).Wenn Sie GNU
du
, obwohl, werden Sie wahrscheinlich haben GNUfind
, die-printf
wie beschrieben von @icyrock.com. Verwenden Sie einfach, dass. Dann verwenden Sie eine explizitesort
.InformationsquelleAutor torek