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 }