Najprostszym rozwiązaniem jest:
awk '{print $2 "\t" $1}'
Istnieją jednak pewne problemy. Jeśli nie może być spacji w jednej z dziedzin, trzeba wykonać jedną z: (w zależności, czy awk obsługuje -v)
awk -v FS='\t' '{print $2 "\t" $1}'
awk 'BEGIN{ FS="\t" } {print $2 "\t" $1}'
Alternatywnie, można wykonać jedną z:
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
Jeden z komentarzy pyta: "gdzie jest nazwa pliku"? awk jest używany jako filtr, więc zwykle pojawia się jako:
$ some-cmd | awk ... | other-cmd
bez podanej nazwy pliku. Lub nazwa pliku może być podany jako argument po wszystkich poleceń:
$ awk ... filename
Która platforma? Windows, Unix, Max. . . –
Dodano "Linux". Dzięki. –