「fileA.txt」と「fileB.txt」という2つのファイルがあります。
fileA.txtの内容は次のとおりです。
1 Arizona ABDJAQ 224
2 Ohio AKOGFR 458
3 Wisconsin EFGTAP 871
4 Colorado NAHBAX 991
上記の4つの列は、「ID」、「State」、「Pattern」、「Number」です。
fileB.txtの内容は次のとおりです。
1 Arizona NKIGAB 763
2 Ohio BAVYAD 918
3 Wisconsin AUOBAQ 547
4 Colorado INABEA 622
ここでも、4つの列は「ID」、「State」、「Pattern」、「Number」です。
これが私がやりたいことです:
最初に「fileA.txt」をスキャンして、「Pattern」列に「A」が1つしかないすべてのレコードを削除したいと思います。2つの「A」を含むすべてのレコードを保持します。だから私はオハイオとウィスコンシンを削除します。(ID「2」およびID「3」)。同時に、これらのIDも「fileB.txt」から同時に削除したい!! (fileBでは、オハイオ州とウィスコンシン州のパターンに2つの「A」があるにもかかわらず)。
この手順を実行すると、「fileA.txt」は次のようになります。
1 Arizona ABDJAQ 224
4 Colorado NAHBAX 991
私の「fileB.txt」は次のようになります。
1 Arizona NKIGAB 763
4 Colorado INABEA 622
次に、「fileB.txt」をスキャンして、「A」が1つあるパターンのレコードをすべて削除し、対応するレコードを「fileA.txt」から削除します。(この場合、fileBには「A」しかないためArizonaであるため、fileBとfileAの両方からArizonaを削除します。)
この手順の後、各ファイルに1つのレコードしか残されません。
「fileA.txt」には次のようになります。
4 Colorado NAHBAX 991
と「fileB.txt」は
4 Colorado INABEA 622
つまり、簡単に言うと、両方のファイルをスキャンして、パターンに2つの「A」が含まれるレコードのみを両方のファイルに保持したいと思います。
これを行うための1行のUnixコマンドまたは比較的簡単なアプローチはありますか?
ヘルプに感謝します!