Ich benutze den Unterstrich, um spezielle Verzeichnisse zu kennzeichnen, die nach oben gehen müssen. In meinem Projektordner habe ich proj_a, proj_b und _old_projects. Es ist nicht sinnvoll, wenn sich dieser Ordner in den o-Projekten befindet.
Martin Ueding
Antworten:
9
Als einmaliger Befehl können Sie dies tun:
LC_COLLATE=C ls
Oder Sie können export LC_COLLATE="C"Ihre .bashrc-Datei hinzufügen , um sie dauerhaft zu machen (möglicherweise werden unerwartete Ergebnisse anderswo sortiert).
Ich denke, ich werde das nur als Alias bezeichnen, damit es keine Nebenwirkungen hat.
Martin Ueding
Das funktioniert bei mir nicht. Ich bekomme das -> paste.pocoo.org/show/403333 (es ist Deutsch, aber es sollte keine Rolle spielen)
dAnjou
2
@dAnjou LC_COLLATE=Cls legt die traditionelle POSIX-Sortierreihenfolge fest, bei der ASCII-Zeichen in Großbuchstaben vor dem Unterstrich stehen. Wenn Unterstriche vor Großbuchstaben sortiert werden sollen, müssen Sie unter der Motorhaube eine benutzerdefinierte Gebietsschemadefinition unter / usr / share / i18n / locales erstellen.
Misterben
2
Das hat vielleicht in der Vergangenheit funktioniert, aber auf Ubuntu 12.04 funktioniert es nicht.
Mikel
1
Ab Ubuntu 14.04 LC_COLLATE=C lsfunktioniert das nicht, LC_ALL=C lstut es aber .
Jwodder
6
Für den Fall, dass es keine integrierte Möglichkeit gibt, können Sie einen einfachen Ersatz für Folgendes verwenden sort:
#!/usr/bin/env python
import sys
for i in sorted(sys.stdin):
sys.stdout.write(i)
Speichern Sie es beispielsweise unter /bin/pysortund machen Sie es ausführbar ( sudo cp whatever.py /bin/pysortund sudo chmod a+x /bin/pysort) und führen Sie es aus als ls | pysort:
Ich würde es wohl ~/bindoch schön in Fallback setzen. Es ist wahrscheinlich besser, Globbing in Python zu verwenden, da die Ausgabe von ls seltsam sein kann, wenn ein Dateiname eine neue Zeile enthält.
Martin Ueding
1
würde ls | sortnicht genau das tun, was du brauchst?
Antworten:
Als einmaliger Befehl können Sie dies tun:
LC_COLLATE=C ls
Oder Sie können
export LC_COLLATE="C"
Ihre .bashrc-Datei hinzufügen , um sie dauerhaft zu machen (möglicherweise werden unerwartete Ergebnisse anderswo sortiert).Weitere Informationen in Ubuntu-Foren .
quelle
LC_COLLATE=C
ls legt die traditionelle POSIX-Sortierreihenfolge fest, bei der ASCII-Zeichen in Großbuchstaben vor dem Unterstrich stehen. Wenn Unterstriche vor Großbuchstaben sortiert werden sollen, müssen Sie unter der Motorhaube eine benutzerdefinierte Gebietsschemadefinition unter / usr / share / i18n / locales erstellen.LC_COLLATE=C ls
funktioniert das nicht,LC_ALL=C ls
tut es aber .Für den Fall, dass es keine integrierte Möglichkeit gibt, können Sie einen einfachen Ersatz für Folgendes verwenden
sort
:Speichern Sie es beispielsweise unter
/bin/pysort
und machen Sie es ausführbar (sudo cp whatever.py /bin/pysort
undsudo chmod a+x /bin/pysort
) und führen Sie es aus alsls | pysort
:quelle
~/bin
doch schön in Fallback setzen. Es ist wahrscheinlich besser, Globbing in Python zu verwenden, da die Ausgabe von ls seltsam sein kann, wenn ein Dateiname eine neue Zeile enthält.würde
ls | sort
nicht genau das tun, was du brauchst?quelle