convert-mailq-to-tabbed.gawk

Escribí este código para convertir la salida del mailq de Postfix a un formato tabular. Al tener el mailq en un formato tabular, se puede leer más fácilmente con scripts de Bash, filtrar con grep, etc.

El script ignora los mensajes de error de entrega que mailq pudiera indicar.

Está hecho en GNU Awk.

Se usa así: mailq | convert-mailq-to-tabbed.gawk.

#!/usr/bin/gawk -f

# Autor: Octavio Alvarez Piza
# Licencia: GPLv3.

BEGIN {
	OFS="t";
	mode = "from";
}

/(/ || /^--/ || /^-Queue/ {
	next;
}

$1 !~ /^$/ && mode == "to" {
	TO = TO $1 ";"	
}

$1 ~ /[0-9]/ && mode == "from" {
	ID=$1
	SIZE=$2
	DOW=$3
	MONTH=$4
	DAY=$5
	TIME=$6
	FROM=$7;
	TO=""
	mode="to";
}

/^$/ && mode == "to" {
	print ID, SIZE, DOW, MONTH, DAY, TIME, FROM, TO
	mode="from";
}

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *