Use o arquivo A com IDs numéricas para extrair a 23ª coluna das linhas do arquivo B correspondentes aos IDs [closed]

0

Eu quero usar o arquivo A (fileA.txt) com 233 IDs (quatro números, primeira coluna) para extrair a 23ª coluna do arquivo B, mas somente das linhas (primeira coluna também) que correspondem ao arquivo A ID

Eu tentei:

 awk 'NR==FNR{ a[$0]++; next }{ if ($23 in a) {$0=$23; print}}' FileA.txt fileB.txt > fileC.txt
    
por Age87 28.07.2017 / 00:52

1 resposta

1

Se eu entendi corretamente, você irá combinar os IDs na coluna1 do arquivoA.txt com os IDs na coluna23 no arquivo B.txt e, se corresponder, imprima a coluna23 do arquivo B.txt, se não, por favor edit sua pergunta com mais detalhes.

Eu suponho que seus arquivos são assim:

==> fileA.txt <==
1111 column2 column3 column4 ...
2222 c1 c2 c3 c4 ...
4444 co1 co2 co3 co4 ...
3333 col1 col2 col3 col4 ...

==> fileB.txt <==
c11 ... c22 3333 c24 c25
co11 ... co22 0000 co24 co25
col11 ... col22 4444 col24 col25

então o comando seria o seguinte:

awk 'NR==FNR {seen[$1]++;next;} ($23 in seen){print $23}' fileA.txt fileB.txt

a saída que é de fileB.txt

c11
col11
    
por 28.07.2017 / 06:19