2015-04-02 4 views
-2

Я пишу сценарий оболочки, чтобы подсчитать количество общих слов между двумя разными файлами, и я не могу понять, как это сделать. Единственное, что дается, это то, что я должен использовать grep.Подсчитайте количество общих слов в двух разных файлах

Например, если мой первый файл:

egg 
frog 
horse 

и второй из них:

dog 
cat 
egg 

вывод должен быть: 1

+0

Это пахнет домашней работой, потому что я использовал бы 'awk' или' sort' или что-то еще – martin

+0

Если использование 'grep' было необязательным, я бы посмотрел на' sort', 'comm' и' wc'. –

ответ

0

Вы можете сделать это следующим образом:

#!/bin/bash 
words=`cat "file1"` 
count=0 
for word in $words; do 
grep -q "$word" "file2" && ((count++)) 
done 
echo "Number of match: $count" 

Выход:

Number of match: 1 

file1 путь к file1 и file2 путь к file2

+0

Спасибо, он отлично работает. :) –

0

попробовать это

Grep -f file1 file2 | wc -l

Смежные вопросы