回答編集履歴

2 コマンドの冗長な部分の修正

hidezzz

hidezzz score 64

2019/02/08 12:42  投稿

一応確認ですが
・アクセスログファイルは1個(または数個)で100万行ほどある。(access.log)
・検索したい文字列は1行に1文字列の形のファイルがあって5000行ほどある(word.txt)
ということで合ってますか?
単にword.txtに対応する行に一致件数を表示するなら次のようになります。
```ここに言語を入力
cat word.txt | xargs -n 1 -i@ sh -c "grep @ access.log | wc -l"
```
検索文字列と一致件数を表示するなら次のようになります。
```ここに言語を入力
cat word.txt | xargs -n 1 -i@ sh -c "grep -o @ access.log " | uniq -c
cat word.txt | xargs -n 1 -i@ grep -o @ access.log | uniq -c
```
1 誤字修正

hidezzz

hidezzz score 64

2019/02/08 12:22  投稿

一応確認ですが
・アクセスログファイルは1個(または数個)で100万行ほどある。(access.log)
ということで合ってますか?
単にword.txtに対応する行に一致件数を表示するなら次のようになります。
```ここに言語を入力
cat word.txt | xargs -n 1 -i@ sh -c "grep @ access.log | wc -l"
```
検索文字列と一致件数を表示するなら次のようになります。
```ここに言語を入力
cat word.txt | xargs -n 1 -i@ sh -c "grep -o @ access.log " | uniq -c
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る