Wie wäre es mit:
grep -o 'debugArgs=\"[[:punct:][:alnum:]]*\"' server.xml
Ich versuche, Zeichenfolge und nächste Zeichenfolge, die in Anführungszeichen gesetzt ist, zu grep.
Es ist eine .xml-Datei und der Inhalt wäre wie folgt:
<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">
Ich versuche also, aus dem obigen Inhalt heraus wie folgt zu suchen. Ich meine, die Übereinstimmungszeichenfolge sowie die vorangehende Zeichenfolge zu grepern.
initialHeapSize="512" maximumHeapSize="1024" debugArgs="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n"
Ich habe diese probiert:
grep -o 'initialHeapSize=......' server.xml grep -o 'maximumHeapSize=......' server.xml grep -o 'debugMode=.......' server.xml
Das Problem ist jedoch, dass die Zeichenfolge in Anführungszeichen steht, die wie bei debugArgs lang sein können. Sollte in der Lage sein, jeden Fall (Groß- oder Kleinschreibung) zu grepen und = sollte während des Grep kein Problem verursachen.
Irgendwelche Vorschläge
Vielen Dank
Wie wäre es mit:
grep -o 'debugArgs=\"[[:punct:][:alnum:]]*\"' server.xml