grep для нескольких строк в файле на разных строках (т.е. поиск по всему файлу, а не по строкам)?

Я хочу найти файлы, содержащие слова Dansk , Svenska или Norsk в любой строке с пригодным для использования кодом возврата (так как мне действительно нравится только информация о том, что строки содержатся, мой однострочник идет немного дальше этого).

У меня есть много файлов со строками в них:

Disc Title: unknown
Title: 01, Length: 01:33:37.000 Chapters: 33, Cells: 31, Audio streams: 04, Subpictures: 20
        Subtitle: 01, Language: ar - Arabic, Content: Undefined, Stream id: 0x20, 
        Subtitle: 02, Language: bg - Bulgarian, Content: Undefined, Stream id: 0x21, 
        Subtitle: 03, Language: cs - Czech, Content: Undefined, Stream id: 0x22, 
        Subtitle: 04, Language: da - Dansk, Content: Undefined, Stream id: 0x23, 
        Subtitle: 05, Language: de - Deutsch, Content: Undefined, Stream id: 0x24, 
(...)

Вот псевдокод того, что я хочу:

for all files in directory;
 if file contains "Dansk" AND "Norsk" AND "Svenska" then
 then echo the filename
end

Как лучше всего это сделать? Можно ли это сделать в одной строке?

78
задан Eric Leschinski 30 April 2013 в 14:43
поделиться