複数のファイル(必ずしも2つのファイルである必要はありません)の交点を見つけるには?

複数のファイル(必ずしも2つのファイルである必要はありません)の交点を見つけるには?

交差点を見つけるための簡単なスクリプトを作成したいと思います。複数のファイル(すべてのファイルの共通行)、したがって一部の項目を読んだ後(協会)bashスクリプトを作成しようとしましたが、残念ながら失敗しました。私は何が間違っていましたか?

RES=$(comm -12 ${1}  ${2})

for FILE in ${@:3}
do
    RES=$(comm -12 $FILE  ${RES})
done

parallelまたはを使用してこれを達成する方法に関する他の提案はありますかxargs

ベストアンサー1

関数は再帰的な方法を受け入れます。

f() {
     if (($# == 1))
     then
         cat $1;
         return;
     fi
     comm -12 $1 <(f "${@:2}")
}

f file1 file2 file3 file4 file5...

おすすめ記事