Как насчет:
grep -o 'debugArgs=\"[[:punct:][:alnum:]]*\"' server.xml
Я пытаюсь получить строку и следующую строку, которая отмечена в двойных кавычках.
Это 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.
Какие-либо предложения
Спасибо
Как насчет:
grep -o 'debugArgs=\"[[:punct:][:alnum:]]*\"' server.xml