关闭具有特定名称的 tmux 会话
Close tmux session with a particular name
我想要一个命令来关闭名称对应于模式的所有 tmux 会话。在正则表达式的语言中,模式是 nn\d+
我觉得我应该可以结合使用 grep 和 xargs。
我试过
tmux ls | grep -P "nn\d+" | ..
但我不确定如何在这里使用 xargs
,即:我不确定如何只引用匹配字符串的名称部分,并且一次引用一个字符串。
更准确地说,tmux ls
的输出类似于:
1: 1 windows (created Thu Mar 25 12:49:17 2021)
2: 1 windows (created Thu Mar 25 12:50:20 2021)
nn312133: 1 windows (created Thu Mar 25 12:53:54 2021)
nn3123: 1 windows (created Thu Mar 25 12:53:52 2021)
grep 的输出是:
nn312133: 1 windows (created Thu Mar 25 12:53:54 2021)
nn3123: 1 windows (created Thu Mar 25 12:53:52 2021)
我应该需要将 nn312133
和 nn3123
传送到 tmux kill-session -t $x
有什么想法吗?谢谢
使用grep -Po
让grep只打印出匹配的部分而不是整行。
答案是tmux ls | grep -Po "nn\d+" | xargs -n1 tmux kill-session -t
我想要一个命令来关闭名称对应于模式的所有 tmux 会话。在正则表达式的语言中,模式是 nn\d+
我觉得我应该可以结合使用 grep 和 xargs。
我试过
tmux ls | grep -P "nn\d+" | ..
但我不确定如何在这里使用 xargs
,即:我不确定如何只引用匹配字符串的名称部分,并且一次引用一个字符串。
更准确地说,tmux ls
的输出类似于:
1: 1 windows (created Thu Mar 25 12:49:17 2021)
2: 1 windows (created Thu Mar 25 12:50:20 2021)
nn312133: 1 windows (created Thu Mar 25 12:53:54 2021)
nn3123: 1 windows (created Thu Mar 25 12:53:52 2021)
grep 的输出是:
nn312133: 1 windows (created Thu Mar 25 12:53:54 2021)
nn3123: 1 windows (created Thu Mar 25 12:53:52 2021)
我应该需要将 nn312133
和 nn3123
传送到 tmux kill-session -t $x
有什么想法吗?谢谢
使用grep -Po
让grep只打印出匹配的部分而不是整行。
答案是tmux ls | grep -Po "nn\d+" | xargs -n1 tmux kill-session -t