Ele está reclamando porque você não citou o *.txt , então o shell está expandindo o padrão, em vez de passá-lo para find . Em outras palavras, digamos que você esteja em um diretório que contenha esses arquivos:
foo.txt bar.txt baz.txt
Quando você diz find . -name *txt -print , o curinga ( * ) é expandido pelo shell (bash provavelmente), então o que é passado para f find é, na verdade:
find . -name foo.txt bar.txt baz.txt -print
São muitos argumentos e find reclama. Para obter o que você deseja, é necessário citar o padrão que você está procurando (você também não precisa do -print para o que está fazendo):
find . -name "*txt"