Я пытаюсь получить строку и следующую строку, которая отмечена в двойных кавычках.

Это XML-файл, и его содержимое будет таким, как показано ниже:

<jvmEntries xmi:id="1183122130078" verboseModeClass="false" verboseModeGarbageCollection="true" verboseModeJNI="false" initialHeapSize="512" maximumHeapSize="1024" runHProf="false" hprofArguments="" debugMode="false" debugArgs="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n" genericJvmArguments="-Xinitsh4m -Xk30000">

Итак, я пытаюсь получить как можно ниже из вышеперечисленного содержания. Я имею в виду grep строки соответствия, а также предыдущей строки.

initialHeapSize="512"

maximumHeapSize="1024"

debugArgs="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n"

Я попробовал это:

grep -o 'initialHeapSize=......' server.xml

grep -o 'maximumHeapSize=......' server.xml

grep -o 'debugMode=.......' server.xml

Но проблема в строке в двойных кавычках, которая может быть длинной, как для debugArgs. Должен быть в состоянии grep в любом регистре (верхний или нижний регистр) и = не должен вызывать проблем во время grep.

Какие-либо предложения

Спасибо

1 ответ1

0

Как насчет:

grep -o 'debugArgs=\"[[:punct:][:alnum:]]*\"' server.xml

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .