В вопросе вы перепутали - и - а также "и". Это разные символы. Для меня эта команда выдает такую ошибку:
find: unknown predicate `-n'
find–type
, –name
и –exec
(и все, что между ними) интерпретируется как путь / имя файла, а затем встречается через -n.
Убедитесь, что вы ввели команду правильно (относительно дефиса)/ dash problem)
Однако вы сказали, что в зависимости от sudo
против sudo su
команда работает или нет. Итак, я предполагаю, что это проблема копирования и вставки, как это предлагается в комментарии.уже. (Возможно, это может быть также и связанный с локалью эффект - не уверен насчет этого.)
Убедитесь, что указан правильный путь.
find . -exec pwd {} + | sort -u
Должен показать путь, в котором выполняется команда find (и сообщения об ошибках, из-за фиктивных опций командной строки - путей, добавленных find - в pwd
).
Кроме того, grep
regex кажетсябыть неправым: «* rds» является поддельным, *
означает «предыдущий символ любое количество раз»например grep "Hel*o" . -r
ищет файлы, связываясь с миром Heo
или Helo
или Hello
или Helllo
и так далее.Если вы хотите искать все файлы, содержащие строку rds.amazonaws.com
, независимо от того, что находится до rds
, вам следует просто использовать поисковый термин "rds\.amazonaws\.com\>"
.\.
потому что вы ищете буквальную точку (а не какой-либо символ, "H.llo"
ищет Hello
, а также Hallo
(и другие поддельные слова, такие как H5llo
) и \>
, потому что com
должно быть концом слова, поэтому оно не соответствует comic
.
Если ничего из этого не помогло, улучшите свой вопрос, добавив некоторые результаты в списке файлов в зависимости от того, что именно вы сделали.
О, и добро пожаловать в Stackoverflow, Набиль Азиз.