Я использовал
find -iname *prib*
и получая только один результат "./prib09jack.pdf" с
find -iname "*prib*"
Я получаю намного больше результатов, что я искал такой как
./Dir1/PRIB09/prib09jackTFF1.pdf
и намного больше, но почему имело значение, что кавычки были вокруг "prib"?
С наилучшими пожеланиями.
Если существует файл (или файлы) соответствие *prib*
в текущем каталоге, когда команда находки выполняется, оболочка развернет подстановочный знак для соответствия имени (именам) файла сначала прежде, чем вручить аргументы, чтобы найти, и привести к другой команде, выполняемой, чем пользователь ожидает.
Например,
$ ls foo*
foobar
$ find -iname foo*
./foobar
$ find -iname "foo*"
./foobar
./dir/foobz
./dir2/fooblat
Короче говоря, Кавычки задерживают подстановочную интерпретацию для команды находки для выполнения. Отсутствие кавычек сразу расширяется.
Проблема - то, что Ваша оболочка разворачивает подстановочный * прежде, чем вручить им для нахождения. Вы хотите, находят для получения их, таким образом, необходимо выйти из них. Кавычки делают это, или Вы могли сделать
find -iname \*iprib\*
и это работало бы также. Ключевая вещь, Вы хотите, чтобы подстановочные знаки добрались, находят неинтерпретируемыми чем-либо еще по пути (как Ваша оболочка).