Итак, я пытаюсь подсчитать время, когда пользователь был в сети на сервере Teamspeak 3 через журнал. Формат журнала - это что-то вродеSimple Bash Сценарий подсчета времени в Интернете для Teampeak 3 через журнал?
2015-10-14 23:30:29.676932|INFO |VirtualServerBase| 1| client connected 'clientX'(id:XY) from IPx.IPx.IPx.IPx:PortX 2015-10-15 00:12:45.870381|INFO |VirtualServerBase| 1| client disconnected 'clientX'(id:XY) reason 'reasonmsg=leave'
.
Я могу, конечно, использовать grep "client connected \|client disconnected"
, чтобы отфильтровать остальные записи и добавить | grep "(id:XY)"
, чтобы видеть только пользователя XY. Если я использую | cut -c 1-16
, чтобы увидеть время и дату и отфильтровывать все ненужное.
Итоговая команда cat *.log | grep "client connected\|client disconnected" | cut -c 1-16
. После этого результат выглядит следующим образом:
2015-10-02 14:12 2015-10-02 14:17 2015-10-06 14:18 2015-10-06 15:27
Возникает вопрос: как я могу считать время между подключит и отключит и добавить их в раковине-скрипт?
Более сложный, чем вы думаете, вам нужно иметь дело с разными пользователями. Если вы хотите получить время подключения ... – Amessihel