我正在尝试通过tail -f跟踪日志文件并使用grep:
过滤它 tail -f <log-file> | grep -F '<some string>'
我希望输出在同一行更新,而不是让新行开启 stdout。这意味着只要grep找到匹配项,stdout上只有一行输出会发生变化。
我尝试过滤新行,分别使用prinft, sed, awk, echo
这样的几个命令添加回车符,但是没有得到它。
我在AIX机器上,因此不支持grep或其他命令的每个联机帮助页选项。
感谢您的帮助!
答案 0 :(得分:0)
尝试这样做:
tail -f <logfile> | awk '/some string/{system("");printf "\r%s", $0}'
system("")
是一个小小的黑客,以避免缓冲。
答案 1 :(得分:0)
您是否安装了watch
?如果我理解你要求的东西(我不确定我做了什么),你可以运行这样的东西:
watch "tail -f <log-file> | grep -F '<some string>'"