URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6961
[ Назад ]

Исходное сообщение
"sed, выкусывание текстового блока"

Отправлено devcoder , 21-Ноя-07 16:24 
Есть plain-text конфигурационный файл примерно такого стиля:


------ BEGIN -------
# global params
par = val

local {
  par = val
}
------ END -------

Нужно с помощью sed или awk или perl получить 2 куска:
1) переменные секции local


$ sed -n '/\s*local\s*{\s*$/,/^\s*}\s*$/p' file.txt
local {
  par = val
}

Проблем нет, выкусывается чётко то, что нужно.

2) глобальные переменные


$ sed -n '1,/{\s*$/p' file.txt
# global params
par = val

local {


Однако захватывается лишняя строка "local {"

Как получить "чистый" глобальный блок:


# global params
par = val


Содержание

Сообщения в этом обсуждении
"sed, выкусывание текстового блока"
Отправлено madskull , 22-Ноя-07 10:11 
sed -n '1x;2,/{\s*$/{x;p}' file.txt