Skip to main content
add more info
Source Link
thanasisp
  • 8.5k
  • 2
  • 29
  • 40
awk -F"\t" -v OFS="\t" 'NF>1 {t=$(NF-1); $(NF-1)=$NF; $NF=t} {print}' file 

Do a standard swap between $NF and $(NF-1). Only only when we have at least 2 fields. It's fatal error to access field -1 (in case of empty line, NF==0).

See also: GNU awk fields

awk -F"\t" -v OFS="\t" 'NF>1 {t=$(NF-1); $(NF-1)=$NF; $NF=t} {print}' file 

Do a standard swap between $NF and $(NF-1). Only when we have at least 2 fields.

awk -F"\t" -v OFS="\t" 'NF>1 {t=$(NF-1); $(NF-1)=$NF; $NF=t} {print}' file 

Do a standard swap between $NF and $(NF-1) only when we have at least 2 fields. It's fatal error to access field -1 (in case of empty line, NF==0).

See also: GNU awk fields

Source Link
thanasisp
  • 8.5k
  • 2
  • 29
  • 40

awk -F"\t" -v OFS="\t" 'NF>1 {t=$(NF-1); $(NF-1)=$NF; $NF=t} {print}' file 

Do a standard swap between $NF and $(NF-1). Only when we have at least 2 fields.