comparando valores de colunas entre dois arquivos Unix

3

Arquivo A

Table SAPSR3./1BEA/BBEA_BDH has no BasicFile LOB columns
Table SAPSR3./1BEA/BBEA_BDI has no BasicFile LOB columns
Table SAPSR3./1BEA/BBEA_DLI has no BasicFile LOB columns
Table SAPSR3./1BEA/CNPL_PDL has no BasicFile LOB columns
Table SAPSR3./1BEA/CNPL_PLH has no BasicFile LOB columns
Table SAPSR3./1BEA/CNPL_PLI has no BasicFile LOB columns
SAPSR3.RSEUMOD has more than 255 columns

Arquivo B

SAPSR3.TERCL2
SAPSR3.TERCL3
SAPSR3.CRM_ACE_UCC
SAPSR3.CRMIOBJCONT
SAPSR3.CRMORDERCONT
SAPSR3.CRMD_WEBREQ_CONT
SAPSR3.CRMIBASECONT
SAPSR3.CRMD_UIF_SYSINDX
SAPSR3.CRMISMCONT

Eu preciso comparar a segunda coluna do FileA para o FileB. Se não for encontrado, devo imprimir toda a linha de fileA no novo fileC, caso contrário (se encontrado), imprima a linha inteira junto com a string concatenada como "found".

Também do Arquivo B, a primeira coluna deve ser comparada com a segunda coluna do FileA. Se não for encontrado, o resultado da pesquisa dessa sequência (1ª coluna do arquivo B) concatenada com "Precisa ser analisada" deve ser impressa no arquivo C.

    
por sivakumar KS 07.06.2014 / 16:56

1 resposta

4

use a incrível ferramenta awk :

awk 'FNR==NR{a[$2]=$3;next}{print $0,a[$2]?a[$2]:"NeedToBeAnalayzed"}' fileA fileB > fileC
    
por 07.06.2014 / 17:02