嗨,我有一些 FW 日志存档,有时我需要将它们与一系列 IP 地址(数千个)进行比较,以获取 IP 地址匹配的日期和时间。我当前的脚本如下:
#input the list of ip into array
mapfile -t -O 1 var < ip.txt while true
do
#check array is not null
if [[-n "${var[i]}"]] then
zcat /.../abc.log.gz | grep "${var[i]}"
((i++))
它确实有效,但它的速度太慢了,我认为 grep-ping 一条具有多个字符串的行会比每条 ip 行上的 zcat 更快。所以我的问题是有没有办法从 ip.txt 生成一个“长 grep 搜索字符串”?还是有更好的方法来做到这一点