Antworten:
Es beklagt sich, weil Sie das nicht zitiert haben, *.txt
so dass die Shell das Muster erweitert, anstatt es an zu übergeben find
. Mit anderen Worten, nehmen wir an, Sie befinden sich in einem Verzeichnis, das die folgenden Dateien enthält:
foo.txt bar.txt baz.txt
Wenn Sie sagen, find . -name *txt -print
der Platzhalter ( *
) wird durch die Shell erweitert (Bash wahrscheinlich), dann ist das, was an f übergeben find
wird, tatsächlich:
find . -name foo.txt bar.txt baz.txt -print
Das sind zu viele Argumente und find
Klagen. Um das zu bekommen, wonach Sie suchen, müssen Sie das Muster angeben, nach dem Sie suchen (das -print
für das, was Sie tun, brauchen Sie auch nicht ):
find . -name "*txt"