试图用grep制作一个过滤器

时间:2010-06-25 13:17:29

标签: 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/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 > filteredSuccessIMGAccessLog,但它根本不起作用。如果有人可以提供帮助,我会感激不尽。

4 个答案:

答案 0 :(得分:6)

星号表示*,和。意思是“任何角色”。试一试:

grep "\.exe" filteredAccessLog > filteredSuccessIMGAccessLog

答案 1 :(得分:5)

grep -F .exe filteredAccessLog > filteredSuccessIMGAccessLog

答案 2 :(得分:2)

那个星号可能并不代表你认为它意味着什么。在正则表达式中,星号表示前一个字符或组的重复次数为0或更多。

答案 3 :(得分:1)

请忽略星号:

grep -w '.exe' filteredAccessLog > filteredSuccessIMGAccessLog