免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2455 | 回复: 16
打印 上一主题 下一主题

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

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-09-12 17:02 |只看该作者 |倒序浏览
有4个字符串,wks,adm,jm1,jm2.想用for循环来做,当 i 为wks时候做..当 i  为 adm时候做,
    for i in "wks" "adm" "jm1" "jm2"
        do
            .....
        done

可以么 ,或用其他的方法

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

shell :字符串作为条件

可以 不过不是这样写
[/code]  for in "wks   adm   jm1   jm2"
do
……
done
[code]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2003-09-12 17:35 |只看该作者

shell :字符串作为条件

原帖由 "zhangpiwang" 发表:
有4个字符串,wks,adm,jm1,jm2.想用for循环来做,当 i 为wks时候做..当 i  为 adm时候做,
    for i in "wks" "adm" "jm1" "jm2"
        do
            .....
        done

可以么 ,或用其他的方法

只要一个串中间没有空格就可以不用引号,有空格的串引号才是必须的:
  1. for i in wks adm jm1 jm2
  2. do
  3. .....
  4. done
复制代码

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

shell :字符串作为条件

啊,十分谢谢,我就是想知道是不是字符串和数字一样的用法在for中

另外我的目的是遍历倒一个指定目录下的所有子目录中的一个.Z压缩文件,然后每个都解压缩出来,放倒另外一个目录中.
有什么好的建议,谢谢

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
5 [报告]
发表于 2003-09-12 17:54 |只看该作者

shell :字符串作为条件

  1. find . -name "*.Z" -print|xargs uncompress
复制代码

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

shell :字符串作为条件

可是我要逐个的解压缩后,在对解开的文件进行处理后,再放到另个目录中!!!

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-01-24 06:20:00
7 [报告]
发表于 2003-09-12 18:21 |只看该作者

shell :字符串作为条件

[quote]原帖由 "zhangpiwang"]可是我要逐个的解压缩后,在对解开的文件进行处理后,再放到另个目录中!!![/quote 发表:
     
经过什么处理?如果单单是移动的话,接着就可以mv啊

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

shell :字符串作为条件

基本就是这个意思,但是我的第七行有语法错误,怎么回事啊?

     1  #!/bin/ksh
     2  export CDL_FORMAT=/export/tea/log/beijing/bin/cdl_format
     3  export DATA_HOME=/export/tea/log/beijing
     4  tagDate=`ls -l $DATA_HOME/CDL | awk '{print $9}'`
     5  for I in $tagDate
     6  fileDate=`cat $I | awk '{print $1$2$3$4$6$7$9$10}'`
     7  do
     8     /usr/bin/cd $DATA_HOME/CDL/$I
     9     tagDomain=`ls -l $DATA_HOME/CDL/$strDate | awk '{print $9}' `
    10     for J in $tagDomain
    11     do
    12        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
    13        do
    14           L=`/usr/bin/date`
    15           /usr/bin/echo "[ $L ] Processing NO. $I $J $K  ..."
    16           /usr/bin/zcat $DATA_HOME/CDL/$I/$J/cdl.$fileDate$K.Z | $DATA_HO
ME/bin/cdl_browse -P > $DATA_HOME/pipe_CDL/$I/$J/cdl.$fileDate$K.pipe
    17        done
    18    done
    19  done

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

shell :字符串作为条件

up

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
10 [报告]
发表于 2003-09-12 23:21 |只看该作者

shell :字符串作为条件

原帖由 "zhangpiwang" 发表:
5 for I in $tagDate
6 fileDate=`cat $I | awk '{print $1$2$3$4$6$7$9$10}'`
7 do
..........

寻求帮助至少应该吧出错的信息贴出来吧?不然大家怎么知道是什么类型的错误?
5 for I in $tagDate
6 fileDate=`cat $I | awk '{print $1$2$3$4$6$7$9$10}'`
7 do   
我感觉你的第六行放错位置了,好像应该在5行的前面或7航的后面。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP