Solicito de su apoyo de favor para realizar un script en bash que lea un log el cual tiene la siguiente estructura:
SERVIDOR.00001(1) [01/11/16 12:33:29 Get](1) Token authentication succeeded: [email protected]
SERVIDOR.000002 (2) [01/11/16 00:18:39 Get](1) ID and Password authentication failed. Invalid password for user [email protected]
Lo que intento hacer es separar el usuario y el dominio, ya que necesito insertarlos en una bd pero no se como separlos.
Lo que he realizado es ya una limpieza previa del log del cual separe esos dos eventos que mostre arriba, mi script es el siguiente:
Código:
La cuestión es que no se como separar [email protected] para que quede de esta forma USER2; 18.22.12.23#!/bin/bash #con esto filtro solo los eventos que necesito cat log.log | egrep -w "authentication succeeded|Password authentication failed" | tr -d '[' >> nuevolog.txt LOG="/root/Documents/nuevolog.txt" #con este separo la linea en varios segmentos para separarlos por ";" y asi cargarlos posteriormente en una base de datos < $LOG awk '{print $1" "$2 " ; " $3" "$4 " ; " $7" "$8" "$9" "$10" "$11" "$12" "$13" "$14" "$15" "$16" "$17}' >> log.csv
la salida que requiero es así:
SERVIDOR.00001(1) ; [01/11/16 12:33:29 Get](1) ; Token authentication succeeded: [email protected]; USER1; 1.159.11.110
De antemano les agradezco mucho su tiempo y apoyo.
Saludos.