我在mpd文件中有一些行,如下所述。我只想grep以.ts
结尾的单词并将它们保存在不同的文件中。有人可以帮我吗?
<SegmentURL media="1.ts" mediaRange="0-3424419"/>
<SegmentURL media="2.ts" mediaRange="0-8063319"/>
<SegmentURL media="3.ts" mediaRange="0-7146631"/>
<SegmentURL media="4.ts" mediaRange="0-8984143"/>
答案 0 :(得分:0)
$ grep -o '\<\w*\.ts\>' infile
1.ts
2.ts
3.ts
4.ts
\<
和\>
是文字标记的开头/结尾\w
是[_[:alnum:]]
的同义词(在BSD grep中只是[[:alnum:]]
)-o
仅保留匹配要将输出保存到文件output
,请在命令后附加> output
重定向。
答案 1 :(得分:0)
对于给定的示例,您不需要PCRE,BRE足以满足您的需求。
grep -o '[^"][.]ts' file
但请记住,grep会进行基于行的匹配。如果您的输入文件是html / xml,特别是,如果它是由某个应用程序生成的,那么这些行可能会被破坏。因此,grep可能会失败。
如果是这种情况,请使用xml / html解析器。