Isso irá capturar os dígitos entre o (primeiro) par de colchetes:
sed "s/.*\[\([0-9]\+\)\].*//" logfile
Eu sou um novato em todo o Linux, mas eu estou tendo uma porrada de tempo tentando descobrir como filtrar meus arquivos de log do qmail.
Neste ponto, o que eu quero fazer é fazer uma pesquisa que produza exatamente o que está dentro dos colchetes após o qmail-local-handlers. Então, por exemplo, pegando a primeira linha do meu trecho de log ...
(Oct 3 10:17:21 125388-web2 qmail-local-handlers[18145]: [email protected])
... Eu gostaria que saísse 18145.
Não sei quais comandos posso executar para obter o resultado que estou procurando. Alguém pode ajudar?
Aqui estão alguns dados de amostra que estou usando, se isso ajudar. Muito obrigado !!
Oct 3 10:17:21 125388-web2 qmail-local-handlers[18145]: [email protected]| Oct 3 10:29:14 125388-web2 qmail-local-handlers[22908]: [email protected]| Oct 3 10:29:30 125388-web2 qmail-local-handlers[23017]: [email protected]| Oct 3 10:30:58 125388-web2 qmail-local-handlers[23815]: [email protected]| Oct 3 10:31:04 125388-web2 qmail-local-handlers[23861]: [email protected]| Oct 3 12:06:52 125388-web2 qmail-local-handlers[30174]: [email protected]| Oct 3 12:07:03 125388-web2 qmail-local-handlers[30240]: [email protected]| Oct 3 12:19:05 125388-web2 qmail-local-handlers[3243]: [email protected]|
Você já tentou:
cut -d '[' -f 2 LOGFILE | cut -d ']' -f 1