如何从文本文件中过滤.exe文件

时间:2012-05-03 14:24:12

标签: bash grep

这是文件中的示例行:

  

O4 - HKLM .. \运行:[TkBellExe] C:\ Program Files \ Common   Files \ Real \ Update_OB \ realsched.exe(RealNetworks,Inc。)

我只需要 realsched.exe

egrep '^O4' file.txt | egrep '[[:alnum:]]{0,99}\.exe' 

含糊不清,但最接近的是有效的。 (忽略第一个grep,使用它来查找4行) 但是当exe文件包含诸如_之类的字符时,它就不起作用。

2 个答案:

答案 0 :(得分:1)

$ LINE='O4 - HKLM..\Run: [TkBellExe] C:\Program Files\Common Files\Real\Update_OB\realsched.exe (RealNetworks, Inc.)'
$ echo "$LINE" | egrep -o '[^\\]+\.exe'
realsched.exe

答案 1 :(得分:0)

您只需在字符集中添加下划线即可。例如,'[[:alnum:] _] {0,99} .exe'。您需要包含可接受的所有字符作为文件名(http://en.wikipedia.org/wiki/Filename)。