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

Fragwürdiger find Fehler

0 views
Skip to first unread message

Gerald Huber

unread,
Aug 21, 2005, 11:31:00 PM8/21/05
to
Hallo,

ich würde gerne in meinem Homedirectory nach StarOffice-
Dateien suchen.

Als Antwort auf:

find /home/gh2425 -name *.sxw -print

erhalte ich aber die Fehlermeldung

find: paths must precede expression.
Usage: find [path...] [expression]

Das ist nicht sehr hilfreich.

Außerdem funktioniert beispielsweise

find /home/gh2425 -name h*.sxw -print

einwandefrei.
Was'n da los?

Gruß, Gerald

Thomas Langhammer

unread,
Aug 22, 2005, 2:21:00 PM8/22/05
to
Hallo Gerald,

GH>Als Antwort auf:
GH> find /home/gh2425 -name *.sxw -print
GH>erhalte ich aber die Fehlermeldung
Ich weiß zwar nicht genau warum (die Fehlermeldung kommt nur bei bestimmten Dateiendungen?), aber man kann es so vermeiden:

find /home/gh2425 -name "*.sxw" -print

Servus
Tom

Hans-Peter Bock

unread,
Aug 23, 2005, 7:03:01 AM8/23/05
to
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Moinmoin,

> GH> find /home/gh2425 -name *.sxw -print
> GH>erhalte ich aber die Fehlermeldung
> Ich weiß zwar nicht genau warum (die Fehlermeldung kommt nur bei
> bestimmten Dateiendungen?), aber man kann es so vermeiden:
>
> find /home/gh2425 -name "*.sxw" -print

Liegen im aktuellen Verzeichnis beispielsweise die beiden Dateien "1.sxw"
und "2.sxw" so expandiert die aktuelle Shell im ersten Fall den Wildcard zu
folgendem Befehl:

find /home/gh2425 -name 1.sxw 2.sxw -print

Damit kann find jedoch nichts anfangen. Wird das Wildcard, wie im zweiten
Fall, in Hochkomma übergeben, so wird es von der Shell nicht ersetzt.


Gruß, Hans-Peter
- --
(°< Hans-Peter Bock, Dipl.-Ing., http://www.isw.uni-stuttgart.de/ >°)
(/) ISW - Universität Stuttgart, Seidenstraße 36, 70174 Stuttgart (\)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iQEVAwUBQwsCaFsH0RM0g3luAQLW8wgAkrFqh5ONKewk5jZqmW0eOiVgwHDZEiyi
C3r7nzJLPlC7CoG90xyBomtSZl8yI0BYfcyKhca3P96xXdYYX0ns8qmGsTdh1K5h
JiDHtOUj9S2+5UH32qmi+kho2xh54xx73jIfkMOFigQXYl6EcwHTgMrHq6qjyico
spR2pCImHOy10sWynfh4x28KW6pCHvFygyMusDoCDWMYh5y03lUbGpTjf3x938uf
6VE15C7v9lorPzSwCxHIwhT1E6BG0ELx03Ko98DiTE6qU+46Lb6u5GX9Nfct0k2e
bZ8DXsV2waM35CLdsAGWmoQayeTCHETKF/xADKYKn7wYzP1znDpPXQ==
=bTxl
-----END PGP SIGNATURE-----

Paul Förster

unread,
Aug 24, 2005, 2:43:00 PM8/24/05
to
Hi Gerald,

GH> find /home/gh2425 -name *.sxw -print
GH> find /home/gh2425 -name h*.sxw -print

... kleiner Tip, wenn Du Dir bei find mit Patterns viel Ärger ersparen willst:
Sowohl find als auch die Shell werten Patterns aus. Und letztere macht es
garantiert nicht so, wie Du das möchtest. Was Du möchtest und auch meinst ist
folgendes:

find /home/gh2425 -name "*.sxw"
find /home/gh2425 -name "h*.sxw"

Das -print kannst Du übrigens getrost vergessen. Das ist nur für Shell Scripte
_manchmal_ und in speziellen Fällen von Bedeutung, auch nicht immer.

Was Du Deinem Computer sagen wolltest ist "finde alle Files in meinem
Homeverzeichnis, die mit .sxw enden".

Was Du aber tatsächlich Deinem Computer gesagt hast ist "liebe Shell,
expandiere *.sxw in eine Liste von Files und übergib sie anschliessend an find
als Argumente, das dann alle Files finden soll, aber nicht kann. Kurz gesagt,
Du hast ihm Unsinn erzählt.

Du musst find das Pattern auswerten lassen und nicht die Shell, dann geht das.
Und das kannst Du forcieren, indem Du das Pattern *.sxw an find als Argument
übergibst. Dazu musst Du das Pattern *.sxw in Anführungszeichen setzen.

Gewöhne Dir zumindest bei find an, das immer zu machen. Das spart sehr viel
Herzkasper. ;-)
--
cul8er,

Paul
oo
paul.f...@gmx.net ~( "> paul.f...@nf.maus.de

Gerald Huber

unread,
Aug 24, 2005, 5:23:00 PM8/24/05
to
Hallo,

> find /home/gh2425 -name "*.sxw" -print

Perfekt.
Danke.

Gruß, Gerald

Gerald Huber

unread,
Aug 24, 2005, 5:23:00 PM8/24/05
to
Hallo,

> Von : Hans-Pe...@isw.uni-stuttgart.de (Di, 23.08.05 13:03)
>
> ... so expandiert die aktuelle Shell ...

Ganz klar, wenn man es erst mal weiß.
Danke.

Gruß, Gerald

Gerald Huber

unread,
Aug 28, 2005, 4:51:00 PM8/28/05
to
Hallo,

> Was Du möchtest und auch meinst ist folgendes:
>
> find /home/gh2425 -name "*.sxw"

Ja, ja ...


> Was Du aber tatsächlich Deinem Computer gesagt hast ist "liebe Shell,
> expandiere *.sxw in eine Liste von Files und übergib sie anschliessend an
> find als Argumente, das dann alle Files finden soll, aber nicht kann.

Warum es das nicht kann ist wieder eine andere Frage.
Ebenso wie, wie dann diese Fehlermeldung zustande kommt.


> Gewöhne Dir zumindest bei find an, das immer zu machen. Das spart sehr viel
> Herzkasper. ;-) --

Beim Speccy war das alles noch viel einfacher.


> paul.f...@nf.maus.de

Es muss natürlich die nördlichste, verfügbare Maus sein ...

Apropos: Hat Bernd jetzt schon eine gefunden?

Gruß, Gerald

Paul Förster

unread,
Sep 3, 2005, 6:46:00 PM9/3/05
to
Hi Gerald,

GH>Warum es das nicht kann ist wieder eine andere Frage.
GH>Ebenso wie, wie dann diese Fehlermeldung zustande kommt.

... nein, es ist ganz logisch. Wenn Du mal ein "ls *.sxw" machst und Dir dann
die komplette "find" Zeile mal hinschreibst, aber eben mit der Ersetzung und
nicht nur "*.sxw", dann sollte es Dir klar werden.

GH>Beim Speccy war das alles noch viel einfacher.

... na ja, für Commodores gibt es ja wenigstens Lunix... :-)

GH>Es muss natürlich die nördlichste, verfügbare Maus sein ...

... oh, in der NF bin ich schon ein paar Jahre, auch wenn ich zwischendurch mal
in der S war. Und es macht keinen Unterschied für mich, ob ich von Bern aus
nach NF oder S oder sonstwo in Deutschland telefoniere. Das kostet immer das
gleiche. In der NF bin ich deshalb, weil Gerhard und Astrid (Betreiber) ganz
liebe Freunde von mir sind.

GH>Apropos: Hat Bernd jetzt schon eine gefunden?

... keine Ahnung. Sucht er? Davon weiss ich ja gar nix. Und warum sucht er? Hat
seine Maus dicht gemacht?

0 new messages