Chinaunix

标题: [求助] AIX中如何实现在一个目录下建立连续数字的子目录 [打印本页]

作者: zm_wl    时间: 2011-06-28 15:18
标题: [求助] AIX中如何实现在一个目录下建立连续数字的子目录
本帖最后由 zm_wl 于 2011-06-28 16:57 编辑

个人想用最简单的方法实现:  在一个目录下(例如:trc目录)下面建立 31个子目录:

      如下:
      trc/01
      trc/02
      trc/03
      .....
      .....
      .....
      trc/29
      trc/30
      trc/31

      请教如何最简单实现,谢谢各位!
作者: zm_wl    时间: 2011-06-28 15:26
是不是高手们都上班了,  剩下的 都是 ……

作者: liion631818    时间: 2011-06-28 15:31
回复 2# zm_wl


    是你的需求就有问题,为什么一个月是31天?
个人理解:
你是要获取当前月的天数,一次创建同等个数的目录?
作者: zm_wl    时间: 2011-06-28 15:33
本帖最后由 zm_wl 于 2011-06-28 15:34 编辑

回复 3# liion631818


    难道一个月没有31天么,31天是一种最大的情况,
    我要的是比较简单的方法来实现
作者: liion631818    时间: 2011-06-28 15:41
回复 4# zm_wl


    那没有31天的时候怎么创建?
不是跟你讨论一个月是不是有31天,是想说你的需求说的不够清楚,让别人不好回答。
照你的意思,就是创建31个目录,从01-31

  1. dirlist=`seq -s " " 1 31`
  2. mkdir $dirlist
复制代码

作者: zm_wl    时间: 2011-06-28 15:44
回复 5# liion631818

是的,我的意思就是建立31个目录
    谢谢解答
作者: xiaopan3322    时间: 2011-06-28 15:47
无语了。。。

作者: liion631818    时间: 2011-06-28 15:48
回复 6# zm_wl


    那就跟日期没关系嘛。
你的需求个位数的时候是01, 02 。。。,下面代码改了下

  1. dirlist=`seq -w -s " " 1 31`
  2. mkdir $dirlist
复制代码

作者: zm_wl    时间: 2011-06-28 15:49
回复 5# liion631818

  有个小小的疑问,想请教:
          seq  好像shell没有这个命令吧
          还是我记错了,麻烦详细说明一点
作者: liion631818    时间: 2011-06-28 15:51
回复 9# zm_wl


   
我这有,你那我就不知道了
按说linux系统应该是有的
作者: zm_wl    时间: 2011-06-28 15:53
回复 10# liion631818

    IBM的  AIX 呵呵 !Unix 有没有相关命令啊
作者: liion631818    时间: 2011-06-28 15:56
回复 11# zm_wl


    这个就不知道了,我都没玩过真正的linux系统,惭愧。。。
作者: zm_wl    时间: 2011-06-28 15:57
回复 12# liion631818


    但是还是谢谢你啊 , 以后多交流! 谢谢!
作者: love100    时间: 2011-06-28 16:47
for x in `seq -w 01 31`;do mkdir $x;done
[root@aa tc]# ls
01  02  03  04  05  06  07  08  09  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31
[root@aa tc]#
作者: zm_wl    时间: 2011-06-28 16:56
回复 14# love100


    谢谢,但是我用的AIX,没有这个命令,估计装一个解释器也不现实,是服务器,呵呵,有没有在AIX能实现的命令,类似于seq
作者: 267020090    时间: 2011-06-28 17:04
[root@perass tools]# for ((i=1;i<=31;i++))
> do
> touch $i
> done
中不
作者: TasteOracle    时间: 2011-06-28 17:05
  1. awk 'BEGIN{for(i=1;i<=31;i++)system("mkdir "i)}'
复制代码

作者: ly5066113    时间: 2011-06-28 17:12
  1. awk 'BEGIN{for(i=1;i<=31;i++)printf "%02d\n",i}' | xargs mkdir
复制代码

作者: zooyo    时间: 2011-06-28 17:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: bbgg1983    时间: 2011-06-28 17:14
回复 19# zooyo


    {x..y}这个东西bash版本太低了会不支持
作者: liion631818    时间: 2011-06-28 17:19
mkdir {1..31}
zooyo 发表于 2011-06-28 17:12



    这个牛叉。。。
作者: lzx4456    时间: 2011-06-28 17:47
#!/bin/sh
for((i=1;i<=31;i++)); do
   mkdir ${i}
done
作者: zm_wl    时间: 2011-06-28 18:43
回复 18# ly5066113


    谢谢,正解! 呵呵
作者: unixlinuxsys    时间: 2011-06-29 09:33
  1. [root@thinkpad ibm]# cd 2010/2011/
  2. [root@thinkpad 2011]# dirlist=`seq -w -s " " 1 31`
  3. [root@thinkpad 2011]# mkdir $dirlist
  4. [root@thinkpad 2011]# ls
  5. 01  03  05  07  09  11  13  15  17  19  21  23  25  27  29  31
  6. 02  04  06  08  10  12  14  16  18  20  22  24  26  28  30
复制代码

作者: unixlinuxsys    时间: 2011-06-29 09:37
#!/bin/sh
for((i=1;i
lzx4456 发表于 2011-06-28 17:47
  1. [root@thinkpad 01]# #!/bin/sh
  2. [root@thinkpad 01]# for((i=1;i<=31;i++));do
  3. > mkdir ${i}
  4. > done
  5. [root@thinkpad 01]# ls
  6. 1   11  13  15  17  19  20  22  24  26  28  3   31  5  7  9
  7. 10  12  14  16  18  2   21  23  25  27  29  30  4   6  8
  8. [root@thinkpad 01]#
复制代码
为啥俩括号?
作者: xiaopan3322    时间: 2011-06-29 14:51
回复 25# unixlinuxsys


   
Similar to the let command, the ((...)) construct permits arithmetic expansion and evaluation. In its simplest form, a=$(( 5 + 3 )) would set "a" to "5 + 3", or 8. However, this double parentheses construct is also a mechanism for allowing C-type manipulation of variables in Bash.





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2