Как найти файлы / (PWD файла), который имеет определенное слово ниже определенного слова в каталогах и подкаталогах в Linux - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть 200 папок, каждая папка имеет несколько файлов оболочки и sql, мое требование состоит в том, чтобы grep / найти все каталоги и файлы, которые имеют ниже

Вставить в dbname.table_name

Выбрать

Я хочу знать, какие все файлы (pwd файла) вставлены в $ {имя_библиотеки}. {Имя_таблицы}, после чего следует выбрать, который находится в следующей строке.Имя базы данных и имя таблицы одинаковы для всех

1 Ответ

0 голосов
/ 24 сентября 2018

Можно использовать grep -r -i -A1 "insert.into" | grep -i -B1 select

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

-A1 печатает одну строку A после соответствующей строки,

-B1 печатает одну строку B перед соответствующей строкой.

Таким образом, первый приведенный выше grep напечатает все строки, соответствующие insert.intoплюс следующий;второй grep сохранит только те пары, у которых select есть во второй строке.

(-i, чтобы игнорировать регистр)

Затем вы можете добавить | grep -i insert.into | cut -d: -f1 | sort -u, чтобы получить толькоИмена файлов.

Обратите внимание, что это предполагает некоторые предположения:

  • параметры -A/-B доступны только в Linux / GNU, а не в простых Unix, таких как HPUX.
  • , если выесть строки, содержащие как insert.into, так и select, и вы получите необычный вывод.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...