Это вернет только пути и имена файлов, в которых был найден поиск, а не целые строки, в которых было выполнено совпадение.
Использовать флаг -r для рекурсии.
Ответ 3
Если вы хотите увидеть полные пути, я бы рекомендовал cd в верхний каталог (вашего диска, если вы используете окна)
cd C:\
grep -r somethingtosearch C:\Users\Ozzesh\temp
Или в Linux:
cd /
grep -r somethingtosearch ~/temp
если вы действительно сопротивляетесь фильтрации файлов (*.log) И вы хотите recursive (файлы не все находятся в одном каталоге), объединение find и grep является наиболее гибким способом:
cd /
find ~/temp -iname '*.log' -type f -exec grep somethingtosearch '{}' \;
Ответ 4
для меня grep -b "searchsomething" *.log
работал, как я хотел
Ответ 5
Самый простой способ распечатать полные пути - заменить относительный путь запуска с помощью абсолютного пути:
grep -r --include="*.sh" "pattern" ${PWD}
Ответ 6
Команда:
grep -rl --include="*.js" "searchString" ${PWD}
Возвращенный вывод:
/root/test/bas.js
Ответ 7
Использование:
grep somethingtosearch *.log
и имена файлов будут распечатаны вместе с совпадениями.