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"; }