私は40個のウィンドウでtmuxセッションを実行しています。各画面の最後の行をリストし、そのウィンドウの出力で各リストを更新するアウトラインウィンドウを作成する必要があります。
答え1
アイデアは、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}" ;
セクションでは、行の前にウィンドウとウィンドウのインデックスを追加します。これは、出力がどこから来るのかを知るのに非常に便利です。あなたはおそらくそれをしたくないでしょう。