このコマンドを実行したいのですが。
watch -n 1 tail -n 200 log/site_dev.log | grep Doctrine
しかし、それは実行されません、なぜならgrepは末尾ではなく時計で実行しようとしているからです...
のようなことをする方法はありますか
watch -n 1 (tail -n 200 log/site_dev.log | grep Doctrine)
どうもありがとう!
引用符でコマンドを囲みます
watch -n 1 'tail -n 200 log/site_dev.log | fgrep Doctrine'
私は間違っているかもしれませんが、これは同じこと(追加されたときに一致するログ行を表示すること)をより簡単には達成しないでしょうか?
tail -f -n 200 log/site_dev.log | grep Doctrine
コマンドを引用符で囲むことができます。
watch -n 1 'tail -n 200 log/site_dev.log | fgrep Doctrine'
コマンドに引用符が含まれている場合は、適切なエスケープを使用して別の種類の引用符を使用できます。
watch -n 1 $'tail -n 200 log/site_dev.log | fgrep \'Doctrine.*\''
もしあなたが本当に賢いことをしようとしているなら、スクリプトにコマンドを置き、それを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
必要に応じて相対パスを必ず考慮してください。