尾部和观察,过滤并提取字符串

尾部和观察,过滤并提取字符串

可以说我有一个名为test.logmore rows 的文件一直在添加:

one|two|apple|four|foo1
one|two|pear|four|foo2
one|two|apple|four|foo3
one|two|peach|four|foo4

我想尾随它,但只对苹果行感兴趣,而且我只想看到最后一个管道之后的字符串。

要按苹果过滤,我可以使用:

tail -f test.log | grep apple

这输出:

one|two|apple|four|foo1
one|two|apple|four|foo3

现在要获取最后一个管道之后的字符串,我认为可以使用:

tail -f test.log | grep apple | awk -F '|' '{print $(NF)}'

但这什么也没有输出。

如果我-f从 tail 中删除该选项,它会起作用,但我无法查看我的日志文件。

问题是 awk 挂起正如这个答案中所描述的。我无法使那里概述的解决方案对我有用。

所以也许使用 cut 比 awk 更容易。有一定数量的管道,所以我可以这样做:

cat test.log | grep apple | cut -d\| -f 5

输出:

foo1
foo3

但是当我观看时:

tail -f test.log | grep apple | cut -d\| -f5

我再次没有得到任何输出。

是否有一个衬里可以用来尾随该文件、过滤它并提取最后一位?

相关内容