用剪切过滤"dmesg -w"

  • 本文关键字:dmesg 过滤 bash
  • 更新时间 :
  • 英文 :


我正在尝试过滤一个在终端中连续显示日志的命令的输出,以使其对人类更具可读性
这个函数是特定于硬件的(并且所讨论的硬件不是很有名(,这就是为什么我在这里以dmesg -w命令为例,因为我认为它们具有几乎相同的行为。

我只想显示任何关于USB的消息的":"后面的部分。到目前为止,我尝试运行:

$ dmesg -w | grep usb | cut -d':' -f2

但它没有显示任何东西。当我在没有dmesg-d选项的情况下运行相同的命令时,我得到了正确的输出。

cut函数是正确的方法吗?我做错了什么?

我不是很擅长bash,我希望有人能帮助我:|

管道是块缓冲的。

stdbuf -oL dmesg -w | grep --line-buffered usb | cut -d: -f2

剪切函数是正确的方法吗?

当然。

我做错了什么?

输出在内部缓冲区中进行缓冲。为每个命令设置行缓冲,使输出刷新每个换行符。

最新更新