日期:2014-05-16  浏览次数:20705 次

如何实现这个多重搜索,找出同时包含多个字符串的文件
在多个文件中要搜索多个特定字符串,
比如找出同时包含字符串A B C的文件


还有个复杂的搜索条件,不知道能不能实现:
找出包含
TABLENAME=BOR
UPDATE=YES
的文件
这两行是成对出现,并且是挨着的。

文件非常多,不是挨个挨个看能解决得了。

------解决方案--------------------
1.第一个问题用个小脚本,yourdir代表多个文件所在的目录
for FILE1 in `grep -l "A" yourdir/*`
do
for FILE2 in `grep -l "B" $FILE1`
do
grep -l "C" $FILE2
done
done

2.用一句话,yourdir代表多个文件所在的目录
grep -A 1 "TABLENAME=BOR" yourdir/* | grep "UPDATE=YES" | sort -u
------解决方案--------------------
以上适于用Linux环境下