4

我在 tmux 会话中打开了大量窗口,我想杀死 75% 的窗口。有没有办法一次杀死多个窗口,而不是去每个窗口单独杀死它?

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 回答