У меня есть предварительно сгенерированные файлы конфигурации из утилиты.Как извлечь строку параметра, которая ограничена '),
, которая может занимать или не охватывать несколько строк?
FILE1
может выглядеть так - PARM3
охватывает несколько строк:
OPERAND ID = 'XXXX',
....
PARM3 = ( 'VALUE3A',
....
'VALUE3n'),
PARM4 = ( 'VALUE4',
....
'VALUE4n'),
....
или FILE2
может выглядеть следующим образом - PARM3
не занимает несколько строк:
OPERAND ID = 'XXXX',
....
PARM3 = ( 'VALUE3A'),
PARM4 = ( 'VALUE4',
....
'VALUE4n'),
....
Для FILE1
извлечение хорошо , если разделитель '),
находится в другой строке:
sed -n "/.* PARM3 .*/,/')\,/p" FILE1
Вывод:
PARM3 = ( 'VALUE3A',
....
'VALUE3n'),
Для FILE2
извлечение не выполняетсяработать , если разделитель '),
находится на одной строке:
sed -n "/.* PARM3 .*/,/')\,/p" FILE2
Вывод:
PARM3 = ( 'VALUE3A'),
PARM4 = ( 'VALUE4',
....
'VALUE4n'),
Как я могу исправить это выражение sed, используя sed только для обработки разделителякоторые могут или не могут быть на одной линии?