4

I have a ton of windows open on my tmux session and I want to kill 75% of them. Is there a way to kill multiple windows at once instead of going to each window and killing it individually?

4

1 に答える 1

4

tmuxはこれを内部的にサポートしているとは思いませんが、スクリプト化することはできます。

まず、作業するテスト セッションを作成します。

tmux new -s test
repeat 9;        do tmux new-window -t test; done    # in zsh
for i in {1..9}; do tmux new-window -t test; done    # in bash

そして今、ウィンドウの殺害のために:

# number of windows in test session
nwin=$(tmux list-windows -t test | wc -l)

# number of windows to kill
nkill=$(echo "$nwin * .75" | bc -l | cut -d. -f1)

tmux list-windows -t test | cut -d: -f1 | head -n$nkill \
| while read; do
    tmux kill-window -t test:$REPLY
  done

grep -vこれはかなり柔軟なアプローチであり、保持したいウィンドウ、または逆に削除したいウィンドウにアクセスできるはずgrepです。

于 2012-08-22T16:27:07.867 に答える