如何删除中间的这条线?

How to remove this lines in the middle?

我已从服务器转储 JVM 线程。从转储中,我想使用正则表达式删除一些行。

    at java.lang.Thread.run(Thread.java:722)

   Locked ownable synchronizers:
    - <0x00000005b8052b20> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"catalina-exec-126" daemon prio=10 tid=0x00007f7b58ac5800 nid=0x4171 runnable [0x00007f7ac4800000]

我希望输出是这样的

    at java.lang.Thread.run(Thread.java:722)

"catalina-exec-126" daemon prio=10 tid=0x00007f7b58ac5800 nid=0x4171 runnable [0x00007f7ac4800000]

有没有人知道如何使用正则表达式来做到这一点?因为价值是动态的。请推荐

看来你制作了线程转储。

您可以试试这个 awk 单行代码来修改您的转储文件:

awk -v RS="\n\n" -v ORS="\n\n" '!/Locked ownable synchro/' yourDump > newDump

顺便说一句,这不是 java 问题,尽管您的输入文件是由 jstack 创建的。