0

各ファイルに 1 列のデータ (各ファイルに約 2000 行) が含まれる 4 つのテキスト ファイルがあります。私がやろうとしているのは、すべてのファイルを比較し、異なるファイル間の重複を判断することです。したがって、file1 には何が含まれているが他の 3 つのファイルには含まれていないか、file2 には何が含まれているが他の 3 つのファイルには含まれていないか、file1 と file2 のみに何が含まれているかなどを知りたいと思います。最終的な目標は、ベン図を作成することですファイル間のさまざまな重複を示す 4 つの重複する円。

私はこれを行う方法を理解しようとして頭をかき集めてきました。私は comm と diff コマンドで遊んでいますが、すべてのファイルでこれを行うのに問題があります。これを行う方法について何か提案はありますか?

助けや提案をありがとう。

4

1 に答える 1

0

abcdという名前の4つのファイルを想定

ファイル a に存在するが、他の行には存在しない行 (^ は、どのファイルにも使用されていない文字であると仮定します):

for l in `cat a | sort | uniq`;do echo $l^`grep -c $l b c d`;done | grep 'b:0 c:0 d:0$' | cut -d\^ -f1

それらのすべてに存在する行:

for l in `cat a | sort | uniq`;do echo $l^`grep -c $l b c d`;done | grep 'b:[1-9]* c:[1-9]* d:[1-9]*$' | cut -d\^ -f1

...

于 2014-01-29T19:20:42.603 に答える