Uwe Koloska ml@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.