因此,我想通過日誌來計算用戶在Teamspeak 3服務器上聯機的時間。 日誌格式類似於簡單的Bash在線時間計數腳本Teamspeak 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
的問題是:我怎麼算的連接和斷開之間的時間,並將其添加了一個shell腳本里面?
比您想象的更復雜,您必須處理不同用戶如果您想獲得連接時間... – Amessihel