Antworten:
Es beklagt sich, weil Sie das nicht zitiert haben, *.txtso 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 -printder Platzhalter ( *) wird durch die Shell erweitert (Bash wahrscheinlich), dann ist das, was an f übergeben findwird, tatsächlich:
find . -name foo.txt bar.txt baz.txt -print
Das sind zu viele Argumente und findKlagen. Um das zu bekommen, wonach Sie suchen, müssen Sie das Muster angeben, nach dem Sie suchen (das -printfür das, was Sie tun, brauchen Sie auch nicht ):
find . -name "*txt"