2017-09-25 6 views
-4

서버에서 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] 

사람이 방법을 사용하여이 정규식을 수행하는 생각이 있습니까? 값이 동적이기 때문입니다. 제발 제안하십시오

+0

글쎄, 처음에는 무엇을 시도 했습니까? 또한 정적 컨텐츠 란 무엇입니까? 동적 인 무엇입니까? – ctwheels

답변

1

그것은 당신이 스레드 덤프를 만든 것 같습니다.

당신은 당신의 덤프 파일을 수정하려면이 AWK에게 한 줄을 시도 할 수 있습니다 : 당신의 입력 파일이 jstack을 만든되었지만

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

BTW,이, 자바 질문이 아니다.

+0

감사합니다. 이것은 내가 생각하는 우아한 해결책이다. – snso