首页 > 解决方案 > 从 tail -f /var/logmessage 创建变量

问题描述

当字符串“Attached”出现在/var/log/messages 中时,我试图从/var/log/messages 中获取一个变量。

我到目前为止,并坚持:

 sudo stdbuf -o0 tail -f -n0 /var/log/messages | awk  '{if ($9 == "Attached") print$8}' 

当插入 USB 设备时,这会提供 USB 设备设备 ID,例如 [sdc]。从这里我计划将设备安装为 exfat。我正在使用 Centos 7,它不会自动挂载 exfat。fuse-exfat 和 exfat-utils 已安装。

标签: awkcentos7exfat

解决方案


您正在使用永远不会终止的“tail -f”(它将等待其他日志消息)。您可能想从文件中“grep”,然后选择第一个(或最后一个)

device=$(sudo cat /var/log/messages | awk  '{if ($9 == "Attached") print $8 ; exit}')

'exit' 可用于选择第一个匹配项。


推荐阅读