Назад | Перейти на главную страницу

Linux Shell Grep с выводом в текстовый файл

Я пытаюсь найти несколько ключевых слов на нескольких сайтах на моем сервере и вывести их в текстовый файл. Я умею только:

 grep -r "keyword1" *
 grep -r "keyword2" *

Мне нужно объединить оба ключевых слова в поиск и вывести местоположения в текстовый файл.

СОВЕТ: используйте регулярное выражение для повышения производительности и объединения результатов

grep -r -E "keyword1 | keyword2" *> результаты

Объединение обоих поисковых запросов в один приведет к повышению производительности для более крупных поисков. Вы получите оба набора результатов без дополнительных затрат на повторный запуск grep.

Если вам нужна только фактическая совпадающая часть (а не вся строка), добавьте параметр -o.

#!/bin/bash
touch outputfile.txt
grep -r "keyword1" * >> outputfile.txt
grep -r "keyword2" * >> outputfile.txt

Этот сценарий оболочки создаст пустой целевой файл, и следующие две команды добавят этот файл. Файл сценария должен быть исполняемым.