Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Befehl find und absolute Pfade

90 views
Skip to first unread message

Michael Peltzer

unread,
Sep 6, 2008, 12:04:40 PM9/6/08
to
Hallo Experten
ich habe folgende Befehlszeile
find ./ -iname '*.rar' -type f
Leider bekomme ich nur Ergebnisse mit relativen Pfaden. Gibt es einen
Schalter für find, damit die Ergebnisse den absoluten Pfad beinhalten?

Danke

Heike C. Zimmerer

unread,
Sep 6, 2008, 12:35:25 PM9/6/08
to
Michael Peltzer <aspha...@gmx.net> writes:

> find ./ -iname '*.rar' -type f
> Leider bekomme ich nur Ergebnisse mit relativen Pfaden. Gibt es einen
> Schalter für find, damit die Ergebnisse den absoluten Pfad beinhalten?

Diese Aufrufe:

find "$PWD" ....
find "$(pwd)" ...

(also die pwd-Varianten anstelle von './') tun das Gewünschte.

Fr@nk Stef@ni

unread,
Sep 6, 2008, 12:36:45 PM9/6/08
to
Michael Peltzer schrieb:


Gib halt einen absoluten Pfad für die Suche an:

find `pwd` -iname '*.rar' -type f

HTH, Frank

Fr@nk Stef@ni

unread,
Sep 6, 2008, 12:38:21 PM9/6/08
to
Heike C. Zimmerer schrieb:

Grrr ... jetzt hab ich gedacht, ich bin mal ausnahmsweise
der Schnellste bei der Antwort, aber die Heike hat wohl
immer Dienst ;-)

Nix für ungut,
Frank

Heike C. Zimmerer

unread,
Sep 6, 2008, 12:46:14 PM9/6/08
to
"Fr@nk Stef@ni" <f...@despammed.com> writes:

Erm, nö (klappt bloß mit passenden Verzeichnisnamen). Quoting fehlt:

find "`pwd`" ...

Message has been deleted

Norbert Möndjen

unread,
Sep 6, 2008, 1:11:30 PM9/6/08
to
Michael Peltzer wrote:

Da du eh schon im Pfad bist könntest du anstatt ./ "$PWD" benutzen.

Ciao Nobbe

Heike C. Zimmerer

unread,
Sep 6, 2008, 1:37:36 PM9/6/08
to
"Fr@nk Stef@ni" <f...@despammed.com> writes:


Ich fürchte, ich hatte in letzter Zeit zu wenig Präsenz. Gleich 2
Antworten schreiben einen ungequoteten String hin. Seufz ...

Es ist *DIE* allererste Fehlerquelle bei der Shell-Programmierung: Wer
die Quotes um einen String weglässt, sollte besser genau wissen[1], was
er tut, und lebt deutlich gefährlicher als mit Quoting. Denn das
Weglassen führt zu zusätzlichen Verarbeitungsschritten der Shell, die
den Inhalt verändern können und es mit Vorliebe erst dann tun, wenn man
es gar nicht mehr erwartet und angefangen hat, dem jeweiligen
Programmier{kunst,mist}stück zu vertrauen.

Und das kann manchmal richtig wehtun, z.B. wenn dasselbe Wort einmal
alleine und einmal woanders Leerzeichen-getrennt als Teilstring
auftaucht und ein ungequotetes rm-Argument (von mir aus auch "bloß"
cp-Argument) im Spiel ist ...


_____
[1] was hier offensichtlich nicht der Fall war

Fr@nk Stef@ni

unread,
Sep 6, 2008, 3:06:19 PM9/6/08
to
Heike C. Zimmerer schrieb:

Hast natürlich Recht. Allerdings gab und gibt es bei mir
keine Leer- oder Sonderzeichen in Pfaden - ich hatte diese
antike *nix-Konvention bereits in den späten 1980-ern als
zwingend und problemvermeidend verinnerlicht.

Andererseits ist die Dominanz gewisser Shell vermeidender
Betriebssysteme so groß, dass man sich kaum noch gegen
Leerzeichen in Pfaden wehren kann, sei es in Email-Anhängen
oder irgendwelchen anderen externen Dokumenten :(

Gruß,
Frank

Heike C. Zimmerer

unread,
Sep 7, 2008, 3:27:15 AM9/7/08
to
"Fr@nk Stef@ni" <f...@despammed.com> writes:

> Heike C. Zimmerer schrieb:
>> "Fr@nk Stef@ni" <f...@despammed.com> writes:
>> Erm, nö (klappt bloß mit passenden Verzeichnisnamen). Quoting fehlt:
>>
>> find "`pwd`" ...
>
> Hast natürlich Recht. Allerdings gab und gibt es bei mir
> keine Leer- oder Sonderzeichen in Pfaden - ich hatte diese
> antike *nix-Konvention bereits in den späten 1980-ern als
> zwingend und problemvermeidend verinnerlicht.

Ich bezweifle, dass es sinnvoll ist, Regeln einzuführen, die so leicht
zu verletzen sind (auch aus Versehen), nur um die doppelten
Anführungszeichen nicht tippen zu müssen (oder allgemeiner formuliert:
um sich mit Quoting nicht beschäftigen zu müssen). Denn ein Shellskript
so hinzubekommen, dass es mit White Space in Dateinamen klarkommt, ist
nicht schwierig (auch wenn es mal um mehr als die doppelten
Anführungszeichen geht).

Die einzig ernstzunehmende Einschränkung, die mir dabei einfällt, ist,
dass sich dann nicht einfach mehrere getrennte Dateinamen in einem
String unterbringen lassen.

Hättest Du den Newline genannt, hätte ich das eher eingesehen.

Fr@nk Stef@ni

unread,
Sep 7, 2008, 3:34:47 AM9/7/08
to

Wo du Recht hast, hast du Recht :)

Message has been deleted

Michael Schmarck

unread,
Sep 13, 2008, 7:03:20 AM9/13/08
to
· Torsten Fleischmann <TorstenFl...@web.de>:

> find $PWD -iname ...

Kürzer:

Statt $PWD kann man auch ~+ verwenden (zumindest auf Bash).

Michael

Michael Schmarck

unread,
Sep 13, 2008, 7:07:03 AM9/13/08
to
· Heike C. Zimmerer <nospa...@gmx.net>:

> Erm, nö (klappt bloß mit passenden Verzeichnisnamen). Quoting fehlt:

Bei ~+ statt `pwd` oder auch $PWD kann man sich das Quoting
sparen (bei Bash).

Michael

0 new messages