Am Do, 13 Mär 2014 22:52:33 CET schrieb David Haller:
Hallo,
Am Thu, 13 Mar 2014, ?l ??gn?r schrieb:
Es geht um folgendes Konstrukt:
find /f1/f2/f3/2006* -maxdepth 1 -user `whoami` -type d | \ cut -f1-5 -d"/" | sort -u | while read -r FOLDER; do
Trotz "sort -u" werden die Ordner nicht alfabet. sortiert abgearbeitet, sondern vermutlich in der Reihenfolge wie sie auf die Platte geschrieben wurden. Die Ordner enthalten keine Leerzeichen oder Sonderzeichen.
Also hier klappt das.
$ ls -U /usr/src/linux arch fs firmware security kernel net Kbuild README README.SUSE include COPYING mm lib scripts virt CREDITS block sound samples crypto Makefile usr Documentation init tools drivers ipc REPORTING-BUGS Kconfig MAINTAINERS
$ find /usr/src/linux/* -maxdepth 1 -type d | cut -d/ -f1-5 | \ sort -u | while read -r d; do echo "$d"; done /usr/src/linux/Documentation /usr/src/linux/arch /usr/src/linux/block [..]
David, das ist leider das Problem, dass man das so einfach nicht prüfen kann, es _kann_ ja passen. Wie geschrieben, ich glaube es hängt vom tatsächlichen Platz auf der HD ab und meistens entspricht das auch der Sortierung. Wenn ich tausende Ordner abarbeiten lasse, dann sehe ich manchmal, dass die Sortierung nicht passt und nachdem das 4stellige Jahreszahlen sind, ist das auch leicht erkennbar. Das ist nicht immer ein Problem, aber wenn da eine steigende Nummerierung dabei ist, die im neuen Namen enthalten ist, dann stimmt die Sortierung danach manchmal nicht. Hast du einen ähnlichen Befehl auf Lager? Notfalls kann ich ls nehmen, aber das hat dann andere Probleme. for INP in `ls "*.bla" 2>/dev/null`; do -- Αl -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org