J'aimerais lancer cette commande:
watch -n 1 tail -n 200 log/site_dev.log | grep Doctrine
Mais ça ne marche pas, car "je pense" que le grep essaie de courir sous la montre au lieu de la queue ...
Y at-il un moyen de faire quelque chose comme
watch -n 1 (tail -n 200 log/site_dev.log | grep Doctrine)
Merci beaucoup!
Entourez la commande avec des guillemets
watch -n 1 'tail -n 200 log/site_dev.log | fgrep Doctrine'
Je peux me tromper, mais est-ce que cela ne ferait pas la même chose (voir les lignes de journal correspondantes au fur et à mesure qu'elles sont ajoutées) plus simplement?
tail -f -n 200 log/site_dev.log | grep Doctrine
Vous pouvez entourer la commande de guillemets:
watch -n 1 'tail -n 200 log/site_dev.log | fgrep Doctrine'
Si la commande contient des guillemets, vous pouvez utiliser un type de guillemets différent avec l'échappement approprié:
watch -n 1 $'tail -n 200 log/site_dev.log | fgrep \'Doctrine.*\''
Si vous essayez de faire quelque chose de vraiment intelligent, mettez la commande ou les commandes dans un script et utilisez cela avec watch:
cat <<EOF >/tmp/watch-command
tail -n 200 $(pwd)/log/site_dev.log | fgrep Doctrine
EOF
chmod +x /tmp/watch-command
watch /tmp/watch-command
Assurez-vous de prendre en compte les chemins relatifs si nécessaire.