Анализировать журналы для определенных значений

Благодаря @EightBitTony, простой pkill -e -HUP gvfsd-fuse сделал свое дело. Теперь фантомное крепление исчезло из Тунара. Следовательно, gvfsd-fuse был достаточно умен, чтобы возродиться:

$ pgrep -lf gvfsd-fuse
2786 /usr/lib/gvfs//gvfsd-fuse -f /run/user/1000/gvfs
3
06.06.2017, 07:39
2 ответа

Вы просили сценарий оболочки, но, надеюсь, awkподойдет:

find_thrust_torque.awk:

/^Total thrust =/ {thrust = $4}
/^Total torque =/ {torque = $4}
/^Time =/ {if (found) exit; if ($3 == time) found=1}
END {print torque " " thrust}

Протестируйте:

$ awk -v time=25 -f find_thrust_torque.awk file1
1.03723 -8.49093

$ awk -v time=26 -f find_thrust_torque.awk file1
1.03953 -8.51463
5
27.01.2020, 21:12

Здесь мы выделяем диапазон временного интервала плюс следующий (или eof, если он последний). Это делается для того, чтобы избежать захвата данных следующего слота, если текущий слот не имеет значений крутящего момента/тяги. Таким образом, вам будут предоставлены устаревшие данные без сообщений об ошибках. Команда H добавляет пространство шаблона к пространству хранения. g извлечет область удержания и поместит ее в пространство шаблонов.

tslot=26; # input the time you want the thrust/torque data for
sed -ne '
   /^Time = '"${tslot}"'$/,/^Time =/!d
   /^Total thrust =/{H;d;}
   /^Total torque =/{H;d;}
   g;/\n.*\n/!d
   /thrust.*torque/s/\(\n.*\)\(\n.*\)/\2\1/
   s/\n[^=]*=//gp;q
' logfile

Результат

1.03953 -8.51463
2
27.01.2020, 21:12

Теги

Похожие вопросы