Re: ls -d
Am Dienstag, 27. Dezember 2011 schrieb René Kray:
> Am 27.12.2011 12:23, schrieb Martin Steigerwald:
> >>> ls -I "*/"
> >>>
> >>> listet Verzeichnisse trotzdem.
> >>
> >> Was willst Du denn mit "-I"? Das Zeichen "/" ist in Datei- und
> >> Verzeichnisnamen nicht erlaubt. Damit bringt es Dir nichts, "*/"
> >> zu ignorieren. Dieses Muster matcht nie.
> >
> > Meine Güte!
> >
> > Ich hab nur mal geschaut, wie das in ls implementiert ist. Hätte ja
> > sein können, dass ls intern auf einen / für Verzeichnisse matcht.
> >
> > Wars nicht, gut ist.
> >
> > Kein Grund, ein Drama draus zu machen.
>
> Macht ja keiner ein Drama draus. Für mich klang das wie eine Frage und
> ich wollte Dir nur erklären, dass das nicht funktionieren kann. Wenn
> Du keine Antwort willst, dann frag nicht. Oder sehe ich das falsch?
Das war keine Frage. Ich hab nur rumprobiert. Auch mit -F. Weil ich eben
nicht wusste, wie ls es intern macht. Nun, mit -F wird der Schrägstrich
auch erst bei der Ausgabe angehängt und für das Ignorier-Muster nicht
verwendet.
Bei Rsync zum Beispiel läßt sich durchaus auf "/" als vollkommen legalen
Bestandteil eines Pfades - im Gegensatz zu einem reinen Datei- oder
Verzeichnisnamen - matchen. Und die Manpage zu ls -l ist da nicht komplett
eindeutig:
-I, --ignore=PATTERN
do not list implied entries matching shell PATTERN
Jow, und so ein Shell-Pattern funktioniert eben auch durchaus mit
Schrägstrichen, wie mein anderes Beispiel nannte.
Aus all dem war es für mich nicht offensichtlich, wie ls arbeiten würde und
daher probierte ich es aus. In den Quelltext schauen, das wäre die andere
Alternative gewesen, wollte ich nicht.
So fand ich auch heraus, wie -ctime, -mtime und -atime in find wirklich mit
Tagen rechnen arbeiten. Die Manpage dazu war zumindest undeutlich, ist es
vielleicht noch und ich gehe davon aus, dass 99% aller Linux-Benutzer
nicht wissen, wie find da genau rechnet. Ich habs mit -exec ls -ld {} \;
nachgeprüft.
Daher halte ich mich mit Schlußfolgerungen "Das kann ja gar nicht anders
sein, weil …" durchaus zurück. Den manchmal liegen solche Schlußfolgerung
voll daneben.
--
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7
Reply to:
- References:
- ls -d
- From: Klaus Becker <colonius@free.fr>
- Re: ls -d
- From: Martin Steigerwald <Martin@lichtvoll.de>
- Re: ls -d
- From: René Kray <rene@kray.info>