Atualizar

Atualizar
Oct 24 10:18:43 reliant3 sshd[67299]: Accepted password for root from 10.51.21.57 port 60097 ssh2

Estou procurando a palavra senha. Depois de encontrá-lo, quero encontrar qualquer coisa associada ao sshd[67299]número e imprimi-lo.

Responder1

$ echo "Oct 24 10:18:43 reliant3 sshd[67299]: Accepted password for root from 10.51.21.57 port 60097 ss" | sed 's/.*\[\(.*\)\].*/\1/'
67299

(descarte tudo, par o que está entre colchetes).

Responder2

Isso deve funcionar para você

grep password my_log.txt | sed 's/.*sshd\[\(.*\)\].*/\1/'

grep password my_log.txtobtém todas as linhas com senha.

sed 's/.*sshd\[\(.*\)\].*/\1/'encontra o []'s after sshde obtém o PID dentro dele.

Você não especificou isso em sua pergunta, mas também pode canalizar isso para sort -ufiltrar duplicatas.

Atualizar

Embora menos legível na minha opinião, você também pode fazer tudo em uma sedlinha.

sed -e '/password/!d;s/.*sshd\[\(.*\)\].*/\1/' my_log.txt

informação relacionada