De man watch
:
Los caracteres que no se imprimen se eliminan de la salida del programa. Use "cat -v" como parte de la canalización de comandos si desea verlos.
Entonces, ¿cómo lo uso cat -v
si quiero ver la salida en color de:
watch ls -al --color
watch --color "sudo iwlist wlan0 scanning | egrep 'Quality|ESSID' | egrep --color -i 'foobar|$'"
comerán los colores :(watch
de procps (el valor por defecto en la mayoría de distribuciones de Linux, creo) tiene una--color
opción ya V3.3.2.Creo que puede no ser posible con el comando 'watch'. Aquí hay una forma más larga de hacerlo:
Podría poner esto en un script, por ejemplo:
Para aclarar, he aquí por qué creo que no es posible con el comando 'watch'. Vea lo que sucede si usa cat -v:
Te muestra los caracteres de control de color ... que creo que no es lo que quieres.
fuente
man watch
sugiere claramente que debería ser posible sin disimularwatch
.cat -v
para ver de quéman watch
estaba hablando.while true; do out=$(date;echo;ls -al --color);clear;echo $out;sleep 2;done
echo "$out"
. stackoverflow.com/q/2414150/86967Si está utilizando una Mac, como yo,
watch
de Homebrew no es compatible con el color.Lo que quieres es fswatch pero aún no es Homebrew. Para instalarlo, querrás hacer un poco más complicado
https://raw.github.com/mlevin2/homebrew/116b43eaef08d89054c2f43579113b37b4a2abd3/Library/Formula/fswatch.rb
Vea esta respuesta SO para su uso.
fuente
watch
aplica a un comandoACTUALIZACIÓN : Resulta las últimas versiones de
watch
solucionado el problema. Entonces, si los coloreswatch --color
son incorrectos, probablemente sea mejor simplemente actualizarlo (en mi sistema, está en elprocps
paquete).El soporte de color
watch --color
es limitado en mi experiencia (aunque suficiente parals -l --color
). Aquí está mi versión de la respuesta de @ davr con algunas características adicionales, el parpadeo más importante reducido. Puede ponerlo en su .bashrc y usarlo comocwatch ls -l --color
.También puedes probar cosas como
si su terminal tiene menos líneas que la salida. Sin embargo, eso solo funciona si todas las líneas son más cortas que el ancho del terminal. La mejor solución que conozco para eso es:
fuente