实时修改`tail -f`输出

时间:2016-04-25 20:43:56

标签: bash sed

我的工作日志以|输出而不是新行,使他们难以阅读。我现在做的是将它们复制并粘贴到vim中并运行:%s/|/\r/g以用新行替换所有管道。

我希望能够在日志的tail -f输出中实时执行此操作。因此,不必复制和粘贴它(或在日志文件上运行sed),我可以立即读取日志,因为它们被写入文件,管道分隔符替换为新行。

有办法做到这一点吗? (我无法修改日志输出的行分隔符)

2 个答案:

答案 0 :(得分:2)

您可以将tail -f输出管道传输到sed并运行与vim一起运行的相同正则表达式(已添加转义):

tail -f file | sed -e s/\|/\\n/g -

答案 1 :(得分:1)

我认为

tail -f <log file> | tr \| \n | less 

或其他一些可能有用。可能需要一些摆弄。