![从 Excel 列搜索日志](https://linux22.com/image/81118/%E4%BB%8E%20Excel%20%E5%88%97%E6%90%9C%E7%B4%A2%E6%97%A5%E5%BF%97%20.png)
我有一个生成的 mysql 报告。我将不得不从 mysql 报告中的电话号码搜索 catalina 日志,并在 Excel 工作表中显示所有信息。所以这就是它需要的样子
- 从 Excel 工作表中的第一个电话号码开始
- 在日志中搜索电话号码。
- 导出附加到 Excel 工作表的所有搜索并继续查找下一个电话号码?
有什么建议如何做到这一点?
我有 500 行电话号码。如果我 grep 1234567891。日志文件看起来像
2015-12-23 20:06:05 INFO Thread-16 XXXX.XXXX.XXXX.Service - Caching location for person max:1234567891 as : 38.802710000000005,-77.63644000000001
我必须搜索所有 500 个电话号码并获取此人的位置。
答案1
在没有看到数据格式的情况下很难提供实际的代码,但这就是我要做的。如果您可以发布更多详细信息,例如示例输入和预期输出,则可以给出更好的响应。
- 首先,将 Excel 转换为 csv 或任何其他可以在 Unix 上读取的分隔文本文件。在将文件引入 Unix 环境之前,您可能必须执行此操作。
用于
awk
从列中提取电话号码并grep
在日志文件中查询包含该电话号码的行。grep -f <( awk -F, '{print $n}' filename.csv) logfilename >> outputfile
像这样的东西应该有效。替换$n
为n
您的电话号码数据的列号。