29 lines
506 B
Awk
29 lines
506 B
Awk
BEGIN {
|
|
RS = "\x0c"
|
|
FS = "\n"
|
|
}
|
|
|
|
/^message{/ {
|
|
id = ""
|
|
depth = -1
|
|
split($1, a, " ")
|
|
for (i in a) {
|
|
if (id && depth >= 0)
|
|
continue
|
|
if (substr(a[i], 1, 3) == "id:")
|
|
id = substr(a[i], 4)
|
|
else if (substr(a[i], 1, 6) == "depth:")
|
|
depth = substr(a[i], 7) + 0
|
|
}
|
|
}
|
|
/^header{/ {
|
|
subj = ""
|
|
for (i=3; i<=NF; i++) {
|
|
if (substr($i, 1, 9) == "Subject: ") {
|
|
subj = substr($i, 10)
|
|
break
|
|
}
|
|
}
|
|
printf "%s\t%s\t%"(2*depth)"s%s\n", id, subj, "", $2
|
|
}
|