Il se peut que "regarder" ne soit pas ce que vous voulez. Vous voulez probablement demander de l'aide pour résoudre votre problème, pas pour mettre en œuvre votre solution ! :)
Si votre véritable objectif est de déclencher des actions basées sur ce qui est vu par le tail
commande vous pouvez le faire dans le cadre de la queue elle-même. Au lieu d'exécuter "périodiquement", ce qui est le cas de watch
fait, vous pouvez exécuter votre code sur demande .
#!/bin/sh
tail -F /var/log/somelogfile | while read line; do
if echo "$line" | grep -q '[Ss]ome.regex'; then
# do your stuff
fi
done
Notez que tail -F
continuera à suivre un fichier journal même s'il est retourné par newsyslog ou logrotate. Vous voulez utiliser ceci à la place de la minuscule tail -f
. Vérifier man tail
pour les détails.
Cela dit, si vous voulez vraiment exécuter une commande périodiquement, les autres réponses fournies peuvent être transformées en un court shell script :
#!/bin/sh
if [ -z "$2" ]; then
echo "Usage: $0 SECONDS COMMAND" >&2
exit 1
fi
SECONDS=$1
shift 1
while sleep $SECONDS; do
clear
$*
done
3 votes
Parce que je devrais configurer tous les Macs du bureau qui utilisent mon script.
0 votes
Brew's Watch ne semble pas détecter les commandes sur mon chemin ou mes alias.
0 votes
Au lieu d'une commande, vous pouvez également utiliser l'application /Applications/Utilities/Console.app pour surveiller les fichiers journaux. Elle permet de filtrer avec une recherche de base
0 votes
Cela n'appartient-il pas à apple.stackexchange.com ?
0 votes
Vous pouvez utiliser un gestionnaire de paquets comme brew.
0 votes
La montre de brew ne supporte pas l'unicode :/