2つのUnixファイル間の列値の比較

2つのUnixファイル間の列値の比較

ファイル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

文書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

FileAの2番目の列をFileBと比較する必要があります。見つからない場合は、fileAの行全体を新しいfileCとして印刷する必要があります。それ以外の場合(見つかった場合)、行全体に関連付けられた文字列を「検索」として印刷します。

さらに、ファイルBでは、最初の列をファイルAの2番目の列と比較する必要があります。見つからない場合は、「Need to be analyzes」に関連付けられているこの文字列(fileBの最初の列)を検索した結果をfileCに印刷する必要があります。

ベストアンサー1

素晴らしいツールをお試しくださいawk:

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

おすすめ記事