Найдите имя файла или файлов с определенным текстом.Эта команда может искать в каталоге и во всех подкаталогах, чтобы найти все совпадения - PullRequest
0 голосов
/ 22 мая 2019

Попытка найти имя файла путем поиска слова, которое находится в файле.

Я попытался просмотреть много примеров в Интернете, но, к сожалению, я не смог найти код, который выводил бы имена файлов с этим определенным словом в нем.

grep -r 'Facebook' *

Я ожидал, что результатом будет множество имен файлов, в которых есть слово facebook, но вместо этого я получил вывод строк со словом facebook, что не то, что я хотел.

Ответы [ 2 ]

1 голос
/ 22 мая 2019

В среде Unix / Linux существует множество возможных решений:

  • find / path / to / base -name Facebook
  • ls -R / path / to /base | grep -i "[Ff]acebook"

и т. д.

Или существуют программные подходы, написанные на выбранном вами языке.Добавьте более подробную информацию о том, что вы пытаетесь сделать, для лучшего ответа.

0 голосов
/ 22 мая 2019

должно быть что-то вроде этого

grep -l "Facebook" *

при этом будет выполнен поиск всех файлов, а не подкаталогов в текущей папке, и получено имя файла, в котором найдено совпадение

с man-страницы grep:

-L, --files-без соответствия Подавить нормальный выход; вместо этого напечатайте имя каждого входного файла, из которого обычно не выводились бы выходные данные. Сканирование остановится при первом совпадении.

-l, --files-with-match Подавить нормальный выход; вместо этого напечатайте имя каждого входного файла, из которого обычно выводился бы вывод. Сканирование остановится при первом совпадении. (-1 это указано POSIX.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...