12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- state==0 {
- numtypes = split (types, type, " ")
- lasttrack = ""
- state = 1
- }
- function typename(track, n, fields)
- {
- n = split (track, fields, ".")
- return fields[n]
- }
- function basename(track, j, n, fields, str, dot)
- {
- n = split (track, fields, ".")
- str = ""
- dot = ""
- for (j=1; j<n; j++)
- {
- str = str dot fields[j];
- dot = "."
- }
- return str
- }
- function maybeprint(track, i, str)
- {
- str = basename(track);
- if (lasttrack != str)
- {
- if (lasttrack != "")
- {
- for (i=1
- {
- if (tracktypes ~ type[i])
- {
- print lasttrack "." type[i]
- break;
- }
- }
- }
- lasttrack = str
- tracktypes = typename(track)
- }
- else
- {
- tracktypes = tracktypes " " typename(track)
- }
- }
- state==1 {
- maybeprint($0)
- }
- END {
- maybeprint("")
- }
|