首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遍历多个数组的BASH循环

遍历多个数组的BASH循环
EN

Stack Overflow用户
提问于 2013-06-05 23:46:33
回答 1查看 207关注 0票数 0

所以,我有一个IP数组和一个日期数组...这两个数组的长度相同,所以,DATE是分配IP的日期...

我正在尝试解析整个月的日志,并在达到某个日期时更改IP ...我知道这是不正确的,所以请帮助我的代码:( Grep语句可以工作,来自其他代码,基本上只需要根据日期检查更改SEARCHPATH ...)

代码语言:javascript
复制
ARRAY_COUNTER=0

NEW_GREP_TERM=${IPS[0]}

for i in {01..31}
do
SEARCHPATH=${BASEPATH}/${DEF_YEAR}${DEF_MONTH}/SG_22[8-9]${DEF_MONTH}${i}*
zgrep --no-filename $NEW_GREP_TERM $SEARCHPATH | awk -f /usr/local/bin/cvsit.awk >> $OUTFILE 
 if [$i = ${DATES[$ARRAY_COUNTER]}]
        then
        NEW_GREP_TERM = ${IPS[$ARRAY_COUNTER]}
        zgrep --no-filename $NEW_GREP_TERM $SEARCHPATH | awk -f /usr/local/bin/cvsit.awk >> $OUTFILE 
        ARRAY_COUNTER=$ARRAY_COUNTER+1

fi
done
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-06 00:13:07

  1. 正如乔纳森指出的那样,[]应该有前导和后置空白。您可以运行which [来了解[实际上是一个命令。if关键字接受布尔语句或变量,[ foo ]用于测试foo是否为真或假。
  2. 当您想要像0, 1, 2, 3, ..., 31这样的整数范围时,可以在

中使用

  1. 编辑:领先的0在这里很重要。因此,为了使缩进保持一致,preferable.
  2. It's内置的{...}表示法更好。它更像是human-readable.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16944291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档