OS X Bash, comando 'ver'
Estoy buscando la mejor manera de duplicar el comando 'watch' de Linux en Mac OS X. Me gustaría ejecutar un comando cada pocos segundos para hacer coincidir el patrón del contenido de un archivo de salida usando 'tail' y 'sed'. .
¿Cuál es mi mejor opción en una Mac? ¿Se puede hacer sin descargar software?
Con Homebrew instalado:
brew install watch
Puedes emular la funcionalidad básica con el bucle de shell:
while :; do clear; your_command; sleep 2; done
Eso se repetirá para siempre, borrará la pantalla, ejecutará su comando y esperará dos segundos: la watch your_command
implementación básica.
Puede llevar esto un paso más allá y crear un watch.sh
script que pueda aceptar your_command
y sleep_duration
como parámetros:
#!/bin/bash
# usage: watch.sh <your_command> <sleep_duration>
while :;
do
clear
date
$1
sleep $2
done
Utilice puertos Mac :
$ sudo port install watch
Los shells anteriores funcionarán, e incluso podrías convertirlos en un alias (es posible que necesites incluir una función para manejar los parámetros):
alias myWatch='_() { while :; do clear; $2; sleep $1; done }; _'
Ejemplos:
myWatch 1 ls ## Self-explanatory
myWatch 5 "ls -lF $HOME" ## Every 5 seconds, list out home directory; double-quotes around command to keep its arguments together
Alternativamente, Homebrew puede instalar el reloj desde http://procps.sourceforge.net/ :
brew install watch