Linux 试图用grep制作一个过滤器

Linux 试图用grep制作一个过滤器,linux,bash,grep,Linux,Bash,Grep,我正在尝试制作一个过滤器,用于捕获所有.exe文件行。例如,从以下方面: [05/Apr/2010:11:00:01 -0300] /~mauro/Lista_conceitos_BD_2004.DOC 200 46080 [05/Apr/2010:11:00:54 -0300] /~lucia/articles/PROPOR96-Rino.pdf 200 153253 [05/Apr/2010:11:01:32 -0300] /~daniel_leite/RenomearTudo/setu

我正在尝试制作一个过滤器,用于捕获所有.exe文件行。例如,从以下方面:

[05/Apr/2010:11:00:01 -0300] /~mauro/Lista_conceitos_BD_2004.DOC 200 46080

[05/Apr/2010:11:00:54 -0300] /~lucia/articles/PROPOR96-Rino.pdf 200 153253

[05/Apr/2010:11:01:32 -0300] /~daniel_leite/RenomearTudo/setup.exe 200 1692017

[05/Apr/2010:11:02:12 -0300] /~grv/tutrv/fig23.jpg 200 22821

[05/Apr/2010:11:04:11 -0300] /~lucia/TechRep/NILCTR981-RMartinse
我想得到这个:

[05/Apr/2010:11:01:32 -0300] /~daniel_leite/RenomearTudo/setup.exe 200 1692017

我正在尝试使用grep-w'*.exe'filteredAccessLog>FilteredSuccessimgaAccessLog,但它根本不起作用。如果有人能帮上忙,我将不胜感激。

grep-F.exe filteredAccessLog>filteredSuccessIMGAccessLog

星号可能并不是你想象中的意思。在正则表达式中,星号表示对上一个字符或组的0次或多次重复。

只需省略星号:

grep -w '.exe' filteredAccessLog > filteredSuccessIMGAccessLog

星号表示*,符号为。表示任何字符。尝试一下:

grep "\.exe" filteredAccessLog > filteredSuccessIMGAccessLog
否则,我会使用-F固定字符串。匹配任何字符。