Другой подход заключается в том, чтобы взять одну букву и пробел, присутствующие прямо перед именами, в качестве левой границы, затем собрать буквы имен и сохранить их в группе захвата $1
, возможно, аналогично:
\s+[a-z]\s+([A-Z][a-z]+)
Мы также можем добавить больше границ, если это может быть необходимо.

RegEx
Если это выражение не требуется, его можно изменить или изменить в regex101.com .
Схема RegEx
jex.im визуализирует регулярные выражения:

Тест
const regex = /\s+[a-z]\s+([A-Z][a-z]+)/gm;
const str = `Thu May 23 22:41:55 2019 19 10.10.10.20 22131676 /mnt/tmp/test.txt b s o r John ssh 0 *
Thu May 23 22:42:55 2019 19 10.10.10.20 22131676 /mnt/tmp/test.txt b s o i Jake folder 0 *
Thu May 23 22:41:55 2019 19 10.10.10.20 22131676 /mnt/tmp/test.txt b s o t Steve http 0 *`;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}