создать переменную из tail -f /var/logmessage

Я пытаюсь получить переменную из / var / log / messages, когда в / var / log / messages появляется строка "Attached".

Я зашел так далеко и застрял:

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

Это дает идентификатор устройства USB-устройства, например [sdc], когда USB-устройство подключено. Отсюда я планирую установить устройство как exfat. Я использую Centos 7, который не монтирует exfat. Установлены fuse-exfat и exfat-utils.

1 ответ

Вы используете 'tail -f', который никогда не завершится (он будет ждать дополнительных сообщений журнала). Вы, вероятно, захотите "grep" из файла и выбрать первый (или последний)

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

"Выход" можно использовать для выбора первого совпадения.

Другие вопросы по тегам