Grep, показывающий имя файла и строку, найденную

Мне нужна команда egrep, в которой перечислены все имена файлов, содержащие слова +, какая строка была найдена. Представим себе этот сценарий:

Слова, которые мне нужно найти: apple , watermelon и banana .

Что мне нужно: я хочу перечислить все файлы, содержащие какие-либо из них (не обязательно, чтобы все они были в одном файле) и напечатать, какое слово он нашел в файле. Пример результата поиска Я хочу:

 ./file1.txt:apple ./file1.txt:banana ./file2.txt:watermelon ./file5.txt:apple 

Я помню, что видел команду grep которая показывает результаты поиска FILENAME:STRING , но я не помню, как это было сделано. Я пытался:

 egrep -lr 'apple|banana|watermelon' . 

Но результаты поиска показали:

 ./file1.txt ./file2.txt 

Хорошо, это помогает, но … в file1 , какое одно из найденных слов? Это проблема, с которой я столкнулся.