我正在尝试使用文件中的空格grep一个字符串,使用此命令可以很好地运行grep:
grep ": error" makeErr.txt
...results as expected...
现在我正在尝试将此命令放入监视器中,但它不起作用:
watch 1 'grep ": error:" makeErr.txt'
> grep ": error:" makeErr.txt
grep: error:": No such file or directory
据说它试图运行grep ": error:" makeErr.txt
这是正确的命令,但由于某种原因它会导致错误。
我尝试了很多引号变化,但所有结果都是一样的。
我该怎么做呢?
答案 0 :(得分:3)
如果输出
which watch && watch --version
是这样的:
/usr/bin/watch
watch from procps-ng 3.3.10
然后你需要把它括在''中,因为watch导致命令通过sh -c运行。
watch -n 1 'grep ": error" makeErr.txt'
可能正在运行
tail -f makeErr.txt | grep ": error"
可以替代观看
答案 1 :(得分:2)
如果要指定1秒的更新间隔,则需要使用-n
开关。否则,您不需要围绕命令的其余部分引用任何引号:
watch -n 1 grep ": error:" makeErr.txt