이런 일이 몇 번 일어나는 것 같습니다. 이런 사이클을 반복하면서 로그의 차이점을 찾아보도록 하겠습니다. 예를 들어:
start
1
2
3
end
start
1
2
4
3
end
터미널 출력 페이지를 스크롤하는 대신 로그에 구조를 지정하세요. 이 도구는 watch
특정 간격으로 명령을 실행하고 변경 사항을 강조 표시하는 기능도 사용할 수 있습니다 -d
. 프로그램의 출력을 시작/끝 사이의 덩어리로 분할하는 쉬운 방법이 있습니까?
주기 내 고정된 선에서 실시간으로 변경 사항을 확인하여 변경 사항을 확인할 수 있으면 좋을 것 같습니다. 주기를 스크롤할 수 있는 것도 좋습니다.
답변1
이 기간 동안 나는 몇 가지 작은 글을 썼습니다. 좋지는 않지만 작업이 완료됩니다.
https://github.com/pknowles/watch_cycles
cat log.txt | ./watch_cycles "start"
예를 들면 다음과 같습니다.
page 2/2
start
1
2
4
3
end
화살표 키는 이전 페이지로 스크롤합니다.
답변2
새로운 유틸리티pw
(파이프라인 감시)바로 이 목적을 위한 기능이 있습니다.
tail -f log.txt | pw
pw
데이터는 내부 FIFO 버퍼를 통해 펌핑되며, 여기에서 스냅샷이 촬영되고 표시되며 CtrlP위쪽/아래쪽 화살표 키 또는 및 를 사용하여 쉽게 액세스 할 수 있는 20화면 깊이의 스냅샷 기록으로 푸시됩니다 CtrlN.
기본적으로 스냅샷은 10초마다 또는 1초의 읽기 시간 초과가 있을 때마다 생성되지만 이러한 시간 초과는 조정할 수 있습니다.
이것방아쇠기능은 반복 패턴의 일정한 부분을 화면에서 정지시킵니다. 데모 비디오에서 이를 확인할 수 있습니다.
그러나 pw
Vi 검색과 유사한 명령을 사용하여 쉽게 트리거 모드로 들어갈 수 있습니다: /pattern
및 ?pattern
. 트리거 모드에서는 FIFO의 하나 이상의 행과 일치하는 항목이 발생할 때마다 디스플레이가 업데이트됩니다. 아직 할 일이 많습니다.
아래와 같이 프로그램을 시작하기 전에 트리거를 지정할 수 있습니다.
# trigger: match foo on line 1, bar on line 3
pw -e /foo -e 3/bar
트리거 및 기타 설정을 원하는 방식으로 설정한 경우 세션 저장 :s filename
및 호출을 사용할 수 있습니다 pw -f filename
. 세션에는 필터 및 트리거는 물론 수직 분할 구성과 같은 디스플레이 설정도 있습니다. 파일에는 쉽게 편집하고 조정할 수 있는 /
, ?
및 (콜론) 명령만 포함되어 있습니다.: