在多个文件中搜索单词

在多个文件中搜索单词

我的代码在两个日志文件中查找一个单词,但这种方法似乎不太有效。有人知道更好的方法吗?

     for IP in `grep "$TERM" ${IPECONFIG[APACHELOGFILE]} | grep "$TERM" ${IPECONFIG[APACHESSLLOGFILE]} | awk "{print \\$1}" | sort | uniq -c | sort -rn | head -40 | awk "{if (\\$1 > ${IPECONFIG[THRESHOLD]}) print \\$2}"`
     do

     # do something

done

答案1

Grep 在命令行上接受多个文件名。您的 shell 参数扩展实际上会执行此操作。如果您运行,ls -l ${IPECONFIG[APACHELOGFILE]}您将看到该搜索显示了多少个文件。

您可以按如下方式组合 grep 操作:

grep "$TERM" ${IPECONFIG[APACHELOGFILE]} ${IPECONFIG[APACHESSLLOGFILE]}"

相关内容