LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 984|回复: 10

初学SHELL ,有一道题目困扰了好久了,请帮忙解决一下!!!

[复制链接]
发表于 2006-10-11 21:44:12 | 显示全部楼层 |阅读模式
设有文件A0,A1,…,A9,编写脚本,将上边的10个文件按文件名最后的数字为奇数还是偶数,自动移动到相应目录。即尾数为奇数的文件移动到jishu目录,为偶数的文件移动到oushu目录
发表于 2006-10-12 09:18:04 | 显示全部楼层
  1. for file in `ls A*`;do
  2.     tmp=$( expr match "$file" "A\([0-9][0-9]*\)" )
  3.     if  (( $tmp%2 )); then
  4.         [ -d jishu ] || mkdir jishu
  5.         mv "$file" "jishu"
  6.     else
  7.         [ -d oushu ] || mkdir oushu
  8.         mv "$file" "oushu"      
  9.     fi
  10. done
复制代码

试试这个,在我的机器下可以完成你的要求
回复 支持 反对

使用道具 举报

发表于 2006-10-12 13:01:32 | 显示全部楼层
  1. cp A* jishu
  2. cp A* oushu
  3. for ((i=0;i<10;i++));do
  4.         if [ $((i%2)) -eq 0 ]
  5.         then
  6.                 rm jishu/A$i
  7.         else
  8.                 rm oushu/A$i
  9.         fi
  10. done
复制代码
也可以搞定。
回复 支持 反对

使用道具 举报

发表于 2006-10-12 15:02:14 | 显示全部楼层
Post by Iambitious

  1. cp A* jishu
  2. cp A* oushu
  3. for ((i=0;i<10;i++));do
  4.         if [ $((i%2)) -eq 0 ]
  5.         then
  6.                 rm jishu/A$i
  7.         else
  8.                 rm oushu/A$i
  9.         fi
  10. done
复制代码

也可以搞定。

这个做的比较巧妙,呵呵。不错。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-12 18:14:54 | 显示全部楼层
谢谢各位啊,上了一天课,一回来就看到你们的帖了
呵呵,我来学习学习!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-12 19:23:44 | 显示全部楼层
我试了一下,不过不知为什么按 Iambitious 的做,结果却是jishu 和 oushu 里面都是A0 -A10
全都有
  还有小弟对  expr match "$file" "A\([0-9][0-9]*\)" 不太懂,实在是初学
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-12 19:27:30 | 显示全部楼层
为什么是两个[0-9][0-9]???
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-12 19:51:33 | 显示全部楼层
不好意思,都对,是我搞错了,呵呵,有点傻
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-12 20:04:17 | 显示全部楼层
现在都搞明白了,谢谢啦
发现自己原来 是没有思考,呵呵
回复 支持 反对

使用道具 举报

发表于 2006-10-12 20:06:52 | 显示全部楼层
我那个代码也比较恶,其实这样就可以了
  1. for ((i=0;i<10;i++));do
  2.         if [ $((i%2)) -eq 0 ]
  3.         then
  4.                 mv A$i oushu
  5.         else
  6.                 mv A$i jishu
  7.         fi
  8. done
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表