I would like to run the command
find . '! -name *.*' in the
bash shell. It does not work as intended. (It should list all files in the current directory for which
-name *.* is false, i.e. which do not have a dot in their names.) Instead, it prints a list of all files in the directory and, paradoxically, ends with the line
find: "! -name *.*": file or directory not found. I suspect the problem is interpretation of the expression by the shell, although it is protected by the two apostrophe (U+0027) characters. Are there ways to protect the expression reliably whatever the expression is?
I use this version: find (GNU findutils) 4.4.2