2つのファイルの間に同じ文字列がある場合は、再印刷しないでください。

2つのファイルの間に同じ文字列がある場合は、再印刷しないでください。

&のSUCCESS文字列を探しています。この場合、文字列を検索し、それが2つのファイルにしかないかどうかに応じて印刷しますが、1つのファイルに対してのみ両方のファイルで一度だけ印刷するように探しています。どうすればいいですか?file_1file_2file_1file_1file_2

$ grep SUCCESS file_1  file_2

結果:

file_1:Host fox_01 is SUCCESS
file_2:Host fox_02 is SUCCESS
file_2:Host fox_01 is SUCCESS

必ずしもgrepである必要はありませんが、どの提案やソリューションにも開いています。

答え1

この試み、

awk '/SUCCESS/ && !a[$0]++' file_1 file_2

Host fox_01 is SUCCESS
Host fox_02 is SUCCESS

キーワード「SUCCESS」を確認し、重複を無視します。

答え2

grep -hファイル名を印刷したくない場合awk 重複行抑制:

grep -h SUCCESS file_1  file_2 | awk '!seen[$0]++'

またはソートしたい場合:

grep -h SUCCESS file_1  file_2 | sort -u

関連情報