Eu tenho dois arquivos .csv (separados por vírgulas) com muitas linhas. Abaixo estão as entradas de amostra desses dois arquivos:
n.csv:
X,I180,10.5.5.180,,833-006366,00,N-D,,,5.2,A52.604,5.2.02,,,,,,,8471 FX,,,,,
f.csv:
X,3FE,1,I180,,,,I180:LT13,,,,,,,,,,,0,,,,,,NLS-A
O que eu quero fazer é:
- 1) busque os campos: $ 2, $ 4, $ 8, $ 12, $ 25 do f.csv e imprima-os nas primeiras colunas do novo arquivo .csv de saída;
- 2) Buscar o campo: $ 7 do arquivo n.csv se o $ 2 de n.csv corresponder aos $ 4 de f.csv e imprimi-lo na última coluna do novo arquivo .csv de saída.
Assim, o resultado desejado deve ser:
3FE,I180,I180:LT13,,NLS-A,N-D
Eu tentei seguir o comando, mas ele imprime o arquivo $ 7 do n.csv na última coluna:
awk 'BEGIN { FS = OFS = "," ; } FNR==NR{ne_model[$2]=$7;x[$2]=$2;next} { if ($4!="" && $4 in x) {print $2,$4,$8,$12,$25,ne_model[$2]} }' n.csv f.csv
3FE,I180,I180:LT13,,NLS-A,
Você poderia, por favor, ajudar a descobrir o que está perdendo?