我正在尝试 grep 字符串和下一个用双引号标记的字符串。
它是一个.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 以下内容。我的意思是 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
关于什么:
grep -o 'debugArgs=\"[[:punct:][:alnum:]]*\"' server.xml