La solución más simple es:
awk '{print $2 "\t" $1}'
Sin embargo, hay algunas cuestiones. Si puede haber espacio en blanco en cualquiera de los campos, que tiene que hacer uno de: (dependiendo de si su awk apoya -v)
awk -v FS='\t' '{print $2 "\t" $1}'
awk 'BEGIN{ FS="\t" } {print $2 "\t" $1}'
Como alternativa, puede hacer uno de:
awk -v OFS='\t' '{print $2,$1}'
awk 'BEGIN{ OFS="\t" } {print $2,$1}'
awk -v FS='\t' -v OFS='\t' '{print $2,$1}' # if allowing spaces in fields
Uno de los comentarios pregunta, '¿a dónde va el nombre del archivo'? awk se utiliza como filtro, por lo que normalmente aparece como:
$ some-cmd | awk ... | other-cmd
sin nombre de archivo. O bien, un nombre de archivo se puede dar como argumento después de todos los comandos:
$ awk ... filename
¿Qué plataforma? Windows, Unix, Max. . . –
Agregado "Linux". Gracias. –