WindTerm
WindTerm copied to clipboard
Sysmon正则匹配问题-uptimeInfo函数正则
原函数中:
function uptimeInfo(output) {
let pattern = /((\d+:\d+):\d+) up (.*?),\s+(\d+) users,\s+load average: (.*)/;
let matched = pattern.exec(output);
let text = '-';
let tooltip = '';
if (matched) {
let timeWithSeconds = matched[1];
let time = matched[2];
let uptime = matched[3];
let users = matched[4]
let loadAverage = matched[5];
text = time;
tooltip = `<tr><td>time</td><td colspan=4>${timeWithSeconds}</td></tr>`
+ `<tr><td>Uptime</td><td colspan=4>${uptime}, ${users} users</td></tr>`
+ `<tr><td>Load average</td><td colspan=4>${loadAverage}</td></tr>`;
}
return [`🆃 ${text}`, tooltip];
}
的正则项let pattern = /((\d+:\d+):\d+) up (.*?),\s+(\d+) users,\s+load average: (.*)/;在单用户登录时会出现不匹配的情况。
单用户top - 04:03:13 up 37 min, 1 user, load average: 0.17, 0.12, 0.07
多用户top - 04:03:37 up 37 min, 2 users, load average: 0.11, 0.11, 0.07
因此建议修改为let pattern = /((\d+:\d+):\d+) up (.*?),\s+((?:\d+) user(?:s|)),\s+load average: (.*)/;。
该问题还会导致时间无法正常显示:
同时希望能对该组件的配色做出修改。
感谢。
给老哥点赞,不过希望用英语提issue吧,作者本来就忙,有很有责任心,中文issue作者都得自己去翻译查看,特别是这种大段的,挺不容易的。