sách gpt4 ăn đã đi

linux - 在 linux 日志文件中特定事件后获取行

In lại 作者:太空狗 更新时间:2023-10-29 11:20:10 25 4
mua khóa gpt4 giày nike

我正在尝试从 syslog 文件 (/var/log/messages) 获取 linux 中连接的 USB 的信息。

为此,我阅读了日志文件并获取了信息。现在我要做的是读取系统日志文件并尝试查找“找到新 USB 设备”的最后一次出现(新连接的 USB)。然后我尝试读取接下来的 16 行以获取 USB 信息(大小、序列号、制造商等)。

目前我正在使用以下语法:

grep -A 20 -e 'New USB device found' /var/log/messages | tail -n 16 > usb_detail

但这种语法在一种情况下会失败。如果在“New USB...”之后有 25 行,那么我将得到最后 16 行,然后我将跳过所需的实际信息。如果“New USB ...”后只有 16 行,那么它会正常工作,我会得到所需的信息。

所以我想要的是在最后一次出现“发现新的 USB 设备”后立即获得 16 行。不是“发现新 USB 设备”后的最后 16 行。

如果我的问题不清楚,请告诉我。在此先感谢您的时间。

câu trả lời hay nhất

有什么问题

fgrep -A 16 'New USB device found' /var/log/messages | tail -n 16

16 行足以满足我在日志中看到的内容(最长的是 10 行)。如果 grep 少于 16 行,它会在那里截断,并且你会在新设备之前得到几行无用的行,但是 grep 在匹配 block 之间打印 --使用上下文时。

关于linux - 在 linux 日志文件中特定事件后获取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10368093/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress