Saída de status do Tmux sed diferente do cli

1

Eu tenho visto isso por um tempo agora, mas não consigo encontrar uma razão. Quando executo o seguinte em um cli, ele funciona como esperado:

$ uptime | sed "s/.*average: \(.*\), \(.*\), \(.*\)$/  /g"
0.65 0.54 0.57

Agora, quando eu adicioná-lo ao meu tmux.conf, da seguinte forma:

set -g status-right '#[fg=green,bg=default,bright]#(uptime | sed -e "s/.*load average: \(.*\), \(.*\), \(.*\)$/  /g") #[fg=red,dim,bg=default]#(uptime | cut -f 4-5 -d " " | cut -f1 -d ",") #[fg=white,bg=default]%a %b %d %H:%M:%S %Y #[default]'

... exibe toda a saída do tempo de atividade , como se desconsiderasse o que o sed faz com ele. Eu não tenho idéia porque isso não está funcionando como esperado. Alguém pode me apontar na direção certa, por favor?

    
por Tim Stoop 14.05.2014 / 11:17

1 resposta

1

Escapar é bem difícil no tmux. Eu tive que lutar com isso um pouco. Parece que você precisa escapar tanto das barras invertidas "\" quanto das chaves "()". Veja um exemplo de como usar apenas a média de carregamento de último minuto como o status correto.

set -g status-right '#(uptime | sed "s/.*load average:\s\+\\([0-9.]\+\\),.*/\1%/")'

O resto deve ser fácil. Espero que isso ajude.

    
por 20.11.2014 / 15:41