tmux - 새 창에 모든 창의 마지막 출력 줄을 나열합니다.

tmux - 새 창에 모든 창의 마지막 출력 줄을 나열합니다.

저는 40개의 창으로 tmux 세션을 실행하고 있습니다. 각 화면의 마지막 행을 나열하고 해당 창의 출력으로 각 목록을 업데이트하는 개요 창을 만들어야 합니다.

답변1

아이디어는 하나의 창이 여러 개의 창을 가질 수 있으므로 모든 창 또는 오히려 모든 창을 열거하는 것입니다. 그런 다음 각 창의 출력을 캡처하고 캡처된 텍스트의 마지막 줄을 표시합니다. 이것을 스크립트에 넣으세요:

tmux list-windows -F '#I'  |   
  while read w; do tmux list-panes -F '#P' -t $w | 
     while read p; do echo -n  "${w}.${p}" ; tmux capture-pane -p -t "${w}.${p}" | 
        tail -n 1 
     done 
  done

이 코드를 입력했다고 가정합니다 /some/file . 그런 다음 40 창 tmux 세션에서 새 감시 창을 만든 다음 실행합니다.

watch -n 1 'bash /some/file'

저기. 이 echo -n "${w}.${p}" ;섹션에서는 줄 앞에 창 및 창 인덱스를 추가할 것입니다. 이는 출력이 어디에서 오는지 아는 데 매우 유용합니다. 당신은 아마 그것을 원하지 않을 것입니다.

관련 정보