我有一个18位字符串的列表,我想从日志中进行zgrep。我现在使用它的方式是,脚本获取一个字符串,zgreps日志(日志按小时保存),并与之一起运行。问题是它需要很长的时间,我需要帮助来改进它。
do while read x ;
do echo $x && zgrep $x /logs/location/app*2019$y* ;
done < file_$y > logs_$y ;
done我的想法是脚本将获取8位数字并将它们插入到zgrep location /app*HERE$y*中
发布于 2019-07-22 21:59:25
小窍门:我认为你可以用一个快速sed和一个zgrep替换整个内部循环。
for y in {files}
do zgrep -f list_$y $( sed -E 's,(.*),/location/app*20\1*,' list_$y )
done发布于 2019-07-22 20:19:45
因此,我最终得到了以下脚本,它满足了我的需求,并且工作得很好:
for y in {files} ;
do while read x ;
do echo $x && z=/location/app*20"${x:0:8}"* && zgrep $x $z ;
done < list_$y > logs_$y ;
done ;https://stackoverflow.com/questions/57143382
复制相似问题