Uwe Koloska <m...@koloro.de> (Fr 30 Jun 2023 12:38:37 CEST):
> 
> > root@dell7720:/home/ottmar# find -name *.ods -print
> > find: paths must precede expression: `musterdatei.ods'
> > find: possible unquoted pattern after predicate `-name'?
> 
> In neueren find-Versionen funktioniert es auch ohne den Pfad. Sogar in
> Ubuntu 18.04 -- du musst also ein sehr altes find haben ...

Wenn die Shell aus

        find -name *.ods -print

        find -name foo.ods bar.ods -print

macht, dann glaubt „find“, dass „bar.ods“ der Pfad sein soll, in dem
gesucht wird, und mault rum, weil solche Pfade eben *vor* den
Suchausdrücken stehen sollen. „foo.ods“ wird dem „-name“ zugeordnet.

(„-print“ ist redundant, wie schon erwähnt wurde, der „.“ als Startpunkt
für die Suche ebenfalls (schon erwähnt.))

Hässlicher wird der Fehler, wenn „*.ods“ im aktuellen Ordner nicht
matcht, dann bleibt dort „*.ods“ stehen und find sucht tatsächlich
Files, auf die dieses Muster zutrifft. Ebenfalls hässlich ist es, wenn
„*.ods“ im aktuellen Ordner auf genau eine Datei passt, dann sucht find
nach genau diesem einen Dateinamen. Und findet (in Abhängigkeit von
weitere Kriterien) möglicherweise genau diese eine, was plausibel
aussieht, falls man nicht weiß, dass es noch hätte andere finden sollen.

-- 
Heiko

Attachment: signature.asc
Description: PGP signature

Antwort per Email an