Bem, o primeiro campo é $1
, NF
contém o número de campos na linha, podemos acessar os campos com $i
, em que i
é uma variável, e os loops funcionam quase como em C. Então:
$ awk '{for (i = 2; i <= NF; i++) printf "%s\t%s\n", $1, $i} ' < blah
1 the
1 mouse
...
(Isso não diferencia entre espaço e tabulação como separador de campo.)