免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: zhangpiwang
打印 上一主题 下一主题

shell :字符串作为条件 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2003-09-13 10:31 |只看该作者

shell :字符串作为条件

# make_pipe.sh
./make_pipe.sh[5]: syntax error at line 7 : `fileDate=`cat $I | awk '{print $1$2
$3$4$6$7$9$10}'`' unexpected
#

shell 真是不熟悉,让各位见笑了,谢谢,     


  1.      1  #!/bin/ksh
  2.      2  export CDL_FORMAT=/export/tea/log/beijing/bin/cdl_format
  3.      3  export DATA_HOME=/export/tea/log/beijing
  4.      4  tagDate=`ls -l $DATA_HOME/CDL | awk '{print $9}' `
  5.      5  for I in $tagDate
  6.      6  fileDate=`cat $I | awk '{print $1$2$3$4$6$7$9$10}'`
  7.      7  do
  8.      8     /usr/bin/cd $DATA_HOME/CDL/$I
  9.      9     tagDomain=`ls -l $DATA_HOME/CDL/$strDate | awk '{print $9}' `
  10.     10     for J in $tagDomain
  11.     11     do
  12.     12        for K in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18
  13. 19 20 21 22 23
  14.     13        do
  15.     14           L=`/usr/bin/date`
  16.     15           /usr/bin/echo "[ $L ] Processing NO. $I $J $K  ..."
  17.     16           /usr/bin/zcat $DATA_HOME/CDL/$I/$J/cdl.$fileDate$K.Z | $DATA_HO
  18. ME/bin/cdl_browse -P > $DATA_HOME/pipe_CDL/$I/$J/cdl.$fileDate$K.pipe
  19.     17        done
  20.     18    done
  21.     19  done
  22. ~
复制代码

论坛徽章:
0
12 [报告]
发表于 2003-09-13 10:35 |只看该作者

shell :字符串作为条件

原帖由 "admirer" 发表:

寻求帮助至少应该吧出错的信息贴出来吧?不然大家怎么知道是什么类型的错误?
5 for I in $tagDate
6 fileDate=`cat $I | awk '{print $1$2$3$4$6$7$9$10}'`
7 do   
我感觉你的第六行放错位置了,好像应该..........
   
五六行写反了,我也觉得好像是,但是我需要每次得到I然后对它处理啊!

论坛徽章:
0
13 [报告]
发表于 2003-09-13 10:47 |只看该作者

shell :字符串作为条件

原帖由 "zhangpiwang" 发表:
   
五六行写反了,我也觉得好像是,但是我需要每次得到I然后对它处理啊!
   
^_^,我应该把第6行放倒第七行,谢谢

论坛徽章:
0
14 [报告]
发表于 2003-09-13 12:13 |只看该作者

shell :字符串作为条件

终于搞定了,谢谢大家,正确代码如下,这个script可以遍历一个目录下得所有文件,然后对它进行一定得操作,希望对别人也有点用处
   #!/bin/ksh
export CDL_FORMAT=/export/tea/log/beijing/bin/cdl_format
export DATA_HOME=/export/tea/log/beijing
tagDate=`ls -l $DATA_HOME/CDL | awk '{print $9}'`
for I in $tagDate
do
   fileDate=`echo $I | awk -F"-" '{print $1$2$3}'`
   /usr/bin/cd $DATA_HOME/CDL/$I
   tagDomain=`ls -l $DATA_HOME/CDL/$I | awk '{print $9}' `
   for J in $tagDomain
   do
      for K in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
      do
         L=`/usr/bin/date`
         /usr/bin/echo "[ $L ] Processing NO. $I $J $K  ..."
         /usr/bin/mkdir -p $DATA_HOME/pipe_CDL/$I/$J
         /usr/bin/zcat $DATA_HOME/CDL/$I/$J/cdl.$fileDate$K.Z | $DATA_HOME/bin/cdl_browse -P > $DATA_HOME/pipe_CDL/$I/$J/cdl.$fileDate$K.pipe
      done
  done
done

论坛徽章:
0
15 [报告]
发表于 2003-09-14 16:44 |只看该作者

shell :字符串作为条件

使用switch语句

论坛徽章:
0
16 [报告]
发表于 2003-10-18 21:00 |只看该作者

shell :字符串作为条件

哪块放switch啊,请教
在for中么,我还没有用过switch呢

论坛徽章:
0
17 [报告]
发表于 2003-10-20 23:50 |只看该作者

shell :字符串作为条件

怎么用switch语句啊,难道将所有的for变成switch 么
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP