我想要用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
哪种方法最好?能不能一行代码实现?
PIPESTATUS
数组包含管道成员的退出值。 - Dennis Williamsonpipefail
shell 选项(临时):shopt -so pipefail
。 - mklement0grep -Z
和xargs -0
。 - Ben Challenor