use a incrível ferramenta awk
:
awk 'FNR==NR{a[$2]=$3;next}{print $0,a[$2]?a[$2]:"NeedToBeAnalayzed"}' fileA fileB > fileC
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.
Tags text-processing linux