awk、sed、または grep コマンドは、file1 の各単語のブールファイルを出力し、その単語が file2 に存在することを確認します。

awk、sed、または grep コマンドは、file1 の各単語のブールファイルを出力し、その単語が file2 に存在することを確認します。

2つのファイルがあり、ファイル1の単語がファイル2にない場合は、新しいファイル(ファイル3など)の対応する行にfalseという単語を生成したいと思います。それ以外の場合は、その行にtrueを出力したいと思います。

ファイル1:

a
b
c
d

ファイル2:

a
d
c
e
t
y

ファイル3:

true
false
true
true

awk/sed/grepコマンドを使用してこれを行う方法はありますか?

ベストアンサー1

file2が空ではなく、問題を引き起こさず、メモリに入るほど大きくないとします。

awk 'NR==FNR{a[$0]; next} {print ($0 in a ? "true" : "false")}' file2 file1

おすすめ記事