找 。 -type -exec fgrep问题

时间:2014-02-03 13:37:49

标签: linux shell find aix

我是linux / aix的新手。我正在研究aix,我遇到了以下问题:

如果我尝试

find . -type f -exec fgrep -l 'searchword *$'

不会返回任何内容或卡住。

我知道我有搜索字的文件。

fgrep -l是否不支持*$

为了给出一个更好的解释,我正在我的计算机上搜索一些日志,在它前面可以有任何东西,但我希望它用*字完成,而不是grep那条线。 此外,我现在*单词之后的行有空格或空白,这就是为什么我把* $。

2 个答案:

答案 0 :(得分:1)

fgrep主要用于搜索修复字符串而非正则表达式。

只需使用grepegrep,两者都可以满足正则表达式。

此外,您需要为-exec标志提供文件标记和终止符:

find . -type f -exec grep -l 'searchword *$' {} ';'

答案 1 :(得分:0)

您需要{}来完成fgrep,并且您不需要grep模式中的通配符:

 find . -type f -exec fgrep -l 'searchword' '{}' \;

另请注意,由于现代grep支持递归搜索,因此您不需要查找。

类似的东西也会起作用:

grep -lr 'searchword' *