![](https://seccdn.libravatar.org/avatar/2dbf213da00f0e66abb098ea3300bbb6.jpg?s=120&d=mm&r=g)
Am Sa, 15 Mär 2014 17:31:40 CET schrieb David Haller: Hallo David,
Am Sat, 15 Mar 2014, Rainer Sokoll schrieb:
Am 13.03.2014 um 20:28 schrieb ?l ??gn?r <suse-ml@corr.eu.org>:
Genau kann ich die Sortierung nicht testen, meistens stimmt so ja, aber manchmal sehe ich, dass ein Ordner von der alfabet. Sortierung früher abgearbeitet wird.
sort verhält sich je nach LC_* unterschiedlich. Setze doch mal LC_ALL=C - bleibt das Problem?
Besser: LC_COLLATE=POSIX
Und Al, ich kapiere nicht so recht was du eigentlich willst,
Ich bilde mir ein, ich las da mal irgendwas zur Problematik mit find und sort, hatte damals aber keine Zeit das im Detail zu verfolgen und dachte, du kannst sofort sagen, dass meine Syntax nicht optimal ist und was anderes besser ist. Wenn dir dazu nichts einfällt, dann werde ich mich wohl abfinden müssen. Es ist ja auch nicht so wichtig.
also welche Verzeichnisse welcher Stufe. Irgendwas unter:
/d1/d2/d3/foo*
ok, soweit. Aber dann? Willst du nur (sortiert) die Namen der Unterverzeichnisse, auf die foo* passt oder was?
Nehmen wir den einfachsten Fall, dass alle Verzeichnisse einer Suche nach Ordner auf gleichem Level gewünscht sind und folgendes gefunden wird: /d1/d2/d3/2009-01 /d1/d2/d3/2010-04 /d1/d2/d3/2012-11 Das wird dann sortiert, siehe Eingangsposting. Wenn ich nun in der Schleife den Ordner mit echo anzeigen lasen und dabei folgendes sehen _könnte_, dann frage ich mich warum /d1/d2/d3/2009-01 /d1/d2/d3/2012-11 /d1/d2/d3/2010-04 Bei tausenden bzw. deutlich mehr Ordnern ist die Logik bzw. das Problem nicht so leicht zu lokalisieren. Ich wundere mich eben, wenn ich, um beim Beispiel zu bleiben, 2012 kommt und somit alles aus 2010 erledigt sein sollte, und irgendwann später sehe ich 2010. In der Pipe ist ja sort. Daher nahm ich an, dass aus welchen Gründen auch immer der sort-Befehl nicht wirksam ist und mir darauf jemand grundsätzlich antworten könnte. Eines der Probleme ist, dass ich einfach nicht annehmen kann, dass 2010 abgearbeitet ist, wenn man 2012 sieht. Ansonsten gibt es ja keine Auswirkungen.
Beschreib mal, was du machen willst. Nicht wie.
Ich will Ordner (alle mit gleicher Tiefe) suchen, die dann _sortiert_ abgearbeitet werden sollen, dh der Ordner ist das Argument für das Bash-Script, um ein einfaches Beispiel zu nennen. Das Suchergebnis wäre also, zB /d1/d2/d3/2009-01 /d1/d2/d3/2012-11 /d1/d2/d3/2010-04 Das soll dann sortiert werden und das Ergebnis soll dann an ein Script übergeben werden, also script.sh /d1/d2/d3/2009-01 script.sh /d1/d2/d3/2010-04 script.sh /d1/d2/d3/2012-11 Testen kann man das IMHO nicht sehr einfach, weil es ziemlich sicher mit dem kleinen Beispiel passt.
Je nachdem ist das dann nämlich eigentlich trivial[1]. Nur hast du glaub ein bissl das sprichwörtliche Brett vor'm Kopp und wir kommen nicht drauf was du eigentlich willst, und haben somit gewissermaßen auch nen Brett vor'm Schädel ;)
Ich glaube, ihr könnt es nicht nachvollziehen, weil das Problem erst in der großen Masse auftritt. Vielleicht ist es ein Bug, der nicht auffällt, weil er schwer zu reproduzieren ist und oft ja auch egal ist. Vielleicht ist einfach das Suchergebnis zu groß und es wird deswegen nicht korrekt sortiert.
Also sowas wie:
- ich will die Verzeichnisse mit ... [unterhalb $PFAD, sortiert nach ...] - und dann will ich darin ... machen ...
-dnh
[1] z.B. in perl mit opendir/readdir/grep/map o.ä. oder per File::Find, oder schlicht per bash
Ich denke, das sollte man auch mit der Bash hinbekommen. -- Α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