尾-F log.log | grep 响应时间 |切-d=-f 2

发布于 2024-10-21 15:57:04 字数 527 浏览 4 评论 0原文

我有一个名为 log.log 的实时日志文件,想要捕获其中的一些匹配模式和值:

示例: log.log 正在增长,我们正在搜索具有模式“ResponseTime = VALUE”的行,并且我们想要提取匹配的 VALUE:

我正在执行:

tail -F log.log | grep ResponseTime | cut -d = -f 2 | tr -d " "

我期待看到

VALUE1
VALUE2
.. etc

但它不起作用...我应该做什么?

谢谢你, NaMo

===========

谢谢,现在可以了。我正在使用: inotail -f 日志.log | stdbuf -oL grep 响应时间 | stdbuf -oL cut -d '=' -f 2 | stdbuf -oL cut -d '=' -f 2 | stdbuf -oL cut -d '=' -f 2 stdbuf -oL tr -d“”

I have a live log file called log.log and want to catch some matching patterns and values in it:

Example:
log.log is growing and we are searching for lines that have pattern "ResponseTime = VALUE" and we want to extract the matched VALUE:

I am executing:

tail -F log.log | grep ResponseTime | cut -d = -f 2 | tr -d " "

And I am expecting to see

VALUE1
VALUE2
.. etc

But it is not working ... what should I do?

Thank you,
NaMo

===========

Thank you, it works now. I am using:
inotail -f log.log | stdbuf -oL grep ResponseTime | stdbuf -oL cut -d '=' -f 2 | stdbuf -oL tr -d " "

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

猫性小仙女 2024-10-28 15:57:04

尝试将 grep 更改为 stdbuf -oL grep

有关详细信息,请参阅 BASHFAQ/009

Try changing grep to stdbuf -oL grep.

See BASHFAQ/009 for details.

梦醒时光 2024-10-28 15:57:04

它不起作用的原因是某些命令不会使用每个输出刷新 STDOUT。因此后面的命令永远不会被传递任何东西。

我会在 tail 之后只使用一个命令,例如:

tail -F t.log  | sed '/ResponseTime/!d;s/ResponseTime\s+=\s+(\d+)/\\1/'

The reason that it isn't working is that some commands don't flush STDOUT with each output. Therefore the later commands are never being passed anything.

I would use just one command after tail such as:

tail -F t.log  | sed '/ResponseTime/!d;s/ResponseTime\s+=\s+(\d+)/\\1/'
错爱 2024-10-28 15:57:04

如果您想从输出中删除换行符,则可以执行以下任一操作:

| cut -d = -f 2|sed -e :a -e '$!N;s/\n//;ta' 

| cut -d = -f 2|tr -d '\n'

| cut -d = -f 2|awk '{printf "%s",$0}'

If you want to remove newlines from your output then you can any of the following:

| cut -d = -f 2|sed -e :a -e '$!N;s/\n//;ta' 

| cut -d = -f 2|tr -d '\n'

| cut -d = -f 2|awk '{printf "%s",$0}'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文