両方のファイルを比較し、内容を印刷します。

両方のファイルを比較し、内容を印刷します。

2つのファイルを比較し、出力に2つのファイルのユニークコンテンツ+最初のファイルの共通コンテンツを含めたいと思います。

例:-

ファイルA.txt

A=x
B=y
C=z

ファイルB.txt

A=p
D=q
E=r

出力:-

A=x
B=y
C=z
D=q
E=r

この問題を解決するのに役立ちます。すべてのコマンドまたはシェルスクリプトを使用できるように、Linuxサーバーでこれを実行したいと思います。

答え1

あなたはそれを使用することができますawk

$ awk -F= '{a[$1]++; if(a[$1]==1){print}}' A.txt B.txt  
A=x
B=y
C=z
D=q
E=r

説明する

  • a[$1]++;:最初のフィールドを配列のキーとして保存aし、そのキーに関連付けられた値を1ずつ増やします。つまり、キーが最初に表示されるとき(たとえば、最初A=x)、値は1になりますが、2番目は2になります。これにより、一意の要素を計算できます。

  • if(a[$1]==1){print}:最初のフィールドが一度だけ表示されたら印刷します。

B.txt後で処理中なので、A.txtの値がA.txt保持された値です。

関連情報