words_of_interest.txt
awk
1行に1つの単語があるファイルがある場合は、1回のパスのみを使用して別のテキストファイルで各単語の発生回数を取得する方法(または他の* nixツール)がありますか?my_text.txt
現在、grep -c
テキストを単語ごとに検索していますが、テキストが大きく、検索する単語が数百個あるため、速度が非常に遅いです。
編集:提供されるサンプル入力と出力:
[words_of_interest.txt]
joe
hi
[my_text.txt]
hi joe
hi jack
nice day today
[output]
joe 1
hi 2
EDIT2:この質問を重複してマークしたユーザーの場合:指摘された問題はそれは計算に関するものですみんな単語、これは事前定義された特定の単語セットのインスタンスのみを計算することです。
ベストアンサー1
my_text.txt
固定文字列検索とスペースawk
に関連する単純なシナリオの場合words_of_interest.txt
awk 'NR == FNR{a[$0]; next}; $0 in a{b[$0]++};
END{for (k in b) print k, b[k]}' words_of_interest.txt RS='[[:space:]]+' my_text.txt
hi 2
joe 1