BEGIN { OFS="\t" local_recordings[0] = 0 delete local_recordings[0] if (file_local_recordings) { while ((getline < file_local_recordings) == 1) local_recordings[$1] = $2 close(file_local_recordings) } } { gsub("&", "\\\\&") parentid = $1 id = $2 med = $3 nr = $4 dur = $5 title = $6 artist = $7 # Parse duration if (dur) { dur = int(dur / 1000) dh = int(dur / 3600) dur = dur % 3600 dm = int(dur / 60) ds = dur % 60 if (ds <= 9) ds = "0"ds dur = dh ? dh":"dm":"ds : dm":"ds } else { dur = "??:??" } line = format sub("<>", med, line) sub("<>", nr, line) sub("<>", title, line) sub("<<artist>>", artist, line) sub("<<duration>>", dur, line) l = local_recordings[id] ? format_local : "" sortk = med" "nr print sortk, l, line, parentid, id ":" local_recordings[id] }