我是linux / aix的新手。我正在研究aix,我遇到了以下问题:
如果我尝试
find . -type f -exec fgrep -l 'searchword *$'
不会返回任何内容或卡住。
我知道我有搜索字的文件。
fgrep -l
是否不支持*$
?
为了给出一个更好的解释,我正在我的计算机上搜索一些日志,在它前面可以有任何东西,但我希望它用*字完成,而不是grep那条线。 此外,我现在*单词之后的行有空格或空白,这就是为什么我把* $。
答案 0 :(得分:1)
fgrep
主要用于搜索修复字符串而非正则表达式。
只需使用grep
或egrep
,两者都可以满足正则表达式。
此外,您需要为-exec
标志提供文件标记和终止符:
find . -type f -exec grep -l 'searchword *$' {} ';'
答案 1 :(得分:0)
您需要{}
来完成fgrep
,并且您不需要grep模式中的通配符:
find . -type f -exec fgrep -l 'searchword' '{}' \;
另请注意,由于现代grep支持递归搜索,因此您不需要查找。
类似的东西也会起作用:
grep -lr 'searchword' *