Estou tentando executar watch
, para que ele mostre a saída do meu comando grep, enquanto estou executando os arquivos e alterando as coisas.
A maneira usual de fazer isso funciona bem, mas falta cores:
watch grep 'something' **/*
... e desde que eu quero cores, eu fiz isso:
watch grep 'something' **/* --color=always
Ainda é feio, porque o relógio não analisa os códigos de escape que fazem as cores funcionarem. Então eu achei isso:
watch --color grep 'something' **/* --color=always
E bem ... não funciona. A saída é fragmentada / misturada de alguma forma estranha. Mostra-me apenas uma única linha por algum motivo, enquanto sem watch --color
o grep produz cerca de 20.
Como posso fazer com que watch
funcione com a saída colorida de grep
?
Caso isolado:
Usando o seguinte:
mkdir grep_test; cd grep_test
echo "asdsad\nasdasd\nsaasdasd" > file1
echo "test\n123\ntest" > file2
Eu crio dois arquivos e executo o seguinte comando:
grep test * --color=always
Que funciona como esperado e saídas (com cores e outros):
file2:test
file2:test
Mas quando uso o relógio:
watch --color 'grep test * --color=always'
Não produz nada. Sem a opção --color
, ela mostra a saída correta, embora sem as saídas ANSI interpretadas.
Estou rodando isso no Fedora 25, na sessão do tmux com o zsh dentro.
Além disso, watch -v
output é:
watch from procps-ng 3.3.10