这是文件中的示例行:
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文件包含诸如_
之类的字符时,它就不起作用。
答案 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)。