LinuxForum.Fans
Тема

Извлечение строк из файла

Автор: sacredwow 6 сообщений 3012 просмотров
#350469

Здравствуйте, извините за беспокойство.
Имеется файл с содержимым типа:
servername = server1
control_panel = cpanel
servername = server2
control_panel = cpanel
servername = server3
servername = server4
servername = server5
control_panel = cpanel
servername = server6
и т.д.

Задача: вывести только те servername, после которых идет control_panel = cpanel.
Уже мучаюсь второй день, вот решил зарегестрироватся.
Мудрил с awk, но кажется мне не хватает знаний синтаксиса.
С sed'oм практически не знаком.
Прошу помощи

#350477

хм, действитель кое-что нашел

#350481

вроде так. Большое спасибо zenon, действительно решение крылось в примитивном grep-ключе -B: grep cpanel -B1, вот чего мне не хватало, ну а дальше сделать перехватить выводы с помощьб седа и авк
egrep "servername|cpanel" ttt(в 1 посте приводится уже "проэгрепаный" пример, в самом файле больше строк) | grep cpanel -B1 | sed '/cpanel/d' | awk '{print $3}' | grep '.'

#350482

Посмотрите на grep, внимание на ключики -A, B, C.

#350483
yars написал:
Посмотрите на grep, внимание на ключики -A, B, C.

да-да, огромное спасибо, см. пост выше

Войдите или зарегистрируйтесь, чтобы ответить.