The reason this occurs is because bash actually expands the asterisk to every matching file, producing a very long command line.
find . -name "*.pdf" -print0 | xargs -0 rm
Warning: this is a recursive search and will find (and delete) files in subdirectories as well. Tack on
-f to the rm command only if you sure you don’t want confirmation.
If you’re on Linux, you can do the following to make the command non-recursive:
find . -maxdepth 1 -name "*.pdf" -print0 | xargs -0 rm