Coloque o comando entre aspas
watch -n 1 'tail -n 200 log/site_dev.log | fgrep Doctrine'
Gostaria de executar este comando:
watch -n 1 tail -n 200 log/site_dev.log | grep Doctrine
Mas ele não roda, porque "eu acho" que o grep tenta rodar no relógio ao invés da cauda ...
Existe uma maneira de fazer algo como
watch -n 1 (tail -n 200 log/site_dev.log | grep Doctrine)
Muito obrigado!
Eu posso estar errado, mas isso não seria o mesmo (visualizar as linhas de log correspondentes à medida que elas são adicionadas) de forma mais simples?
tail -f -n 200 log/site_dev.log | grep Doctrine
Você pode colocar o comando entre aspas:
watch -n 1 'tail -n 200 log/site_dev.log | fgrep Doctrine'
Se o comando tiver aspas, você poderá usar um tipo diferente de aspas com o escape apropriado:
watch -n 1 $'tail -n 200 log/site_dev.log | fgrep \'Doctrine.*\''
Se você está tentando fazer algo realmente inteligente, coloque o comando ou comandos em um script e use-o com o relógio:
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
Certifique-se de considerar caminhos relativos, se necessário.