Como posso dizer ao awk que eu quero o segundo para o último e o terceiro para os últimos tokens de uma linha delimitada por tabulações?

3

Estou usando um script bash. Eu tenho um arquivo delimitado por tabulações com dados parecidos com

Afghanistan     AF      AFG     004
ALA     Aland Islands   AX      ALA     248
Albania AL      ALB     008
Algeria DZ      DZA     012

Eu quero reescrever os dados assim

AF=AFG
AX=ALA
AL=ALB
DZ=DZA

que se resume a extrair o terceiro para o último token, escrevendo um igual e, em seguida, imprimindo o segundo ao último token. Eu pensei que "awk" poderia me ajudar, mas eu não sei como dizer "segundo a último". Isso não corta

awk '{print $2=$3}' /tmp/country_data.tsv 

Como posso extrair os dados da maneira que desejo?

    
por Dave 09.03.2017 / 21:15

1 resposta

2

awk '{printf "%s=%s\n", $(NF-2),$(NF-1)}' file

    
por 09.03.2017 / 21:30

Tags