亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 用shell實(shí)現(xiàn)創(chuàng)建指定文件夾 [打印本頁(yè)]

作者: linuxbrook    時(shí)間: 2012-12-18 16:28
標(biāo)題: 用shell實(shí)現(xiàn)創(chuàng)建指定文件夾
需求:用shell實(shí)現(xiàn)創(chuàng)建目錄,一年中12個(gè)月,創(chuàng)建12個(gè)文件夾,再在這12個(gè)文件中分別創(chuàng)建以每個(gè)月份多少的天的文件夾,即是:1的文件夾下有31個(gè)文件夾,2的文件夾下有29個(gè)文件夾。。。。。。。等大牛各位幫解答下,謝謝!
作者: jomenxiao    時(shí)間: 2012-12-18 16:44
本帖最后由 jomenxiao 于 2012-12-18 16:59 編輯

for a  in $(seq 365)
do
       mkdir  -p   $(date -d "${a} days ago" +%m)/$(date  -d "${a} days ago" +%m%d)
done

回復(fù) 1# linuxbrook


   
作者: Shell_HAT    時(shí)間: 2012-12-18 19:25
2的文件夾下有29個(gè)文件夾

不管是否閏年都是29個(gè)?
作者: ljwd1000    時(shí)間: 2012-12-19 11:29
本帖最后由 ljwd1000 于 2012-12-19 11:31 編輯
  1. #!/bin/bash

  2. BigMonth=($(seq 1 31))
  3. SmallMonth=($(seq 1 30))

  4. TargetDir="/tmp/test"

  5. echo "Please Input Year:"
  6. read year
  7. mode=$(($year%4))
  8. if [ $mode -eq 0 ];then
  9.     Feb=($(seq 1 29))
  10. else
  11.     Feb=($(seq 1 28))
  12. fi

  13. for i in 1 3 5 7 8 10 12
  14. do
  15.     for j in ${BigMonth[@]}
  16.     do
  17.         mkdir -p $TargetDir/$i/$j
  18.     done
  19. done

  20. for i in 4 6 9 11
  21. do
  22.     for j in ${SmallMonth[@]}
  23.     do
  24.         mkdir -p $TargetDir/$i/$j
  25.     done
  26. done

  27. for i in ${Feb[@]}
  28. do
  29.     mkdir -p $TargetDir/2/$i
  30. done
復(fù)制代碼

作者: jason680    時(shí)間: 2012-12-19 13:16
本帖最后由 jason680 于 2012-12-19 13:19 編輯

回復(fù) 1# linuxbrook

How about this

mkdir -p {1..12}/{1..31}
   
maybe you don't want to have 31 on 2,4,6,9,11 months and 2/30

rm -rf {2,4,6,9,11}/31 2/30
作者: cuteorange    時(shí)間: 2012-12-19 18:24
回復(fù) 1# linuxbrook

#!/bin/bash
year=${1:-2012}
for mon in {1..12}
do
  mkdir -p $(cal $mon $year | sed -r -e '/[a-zA-Z]/d' -e '/./{H;$!d;}' -e "{x;s/([0-9]{1,2})/$mon\/\1/g;s/\n+/ /g;}")
done

作者: cuteorange    時(shí)間: 2012-12-19 19:12
本帖最后由 cuteorange 于 2012-12-19 19:34 編輯

回復(fù) 6# cuteorange


    改進(jìn)一下:
#!/bin/bash
year=${1:-2012}
for mon in {1..12}
do
  mkdir -p $(cal $mon 2012 | sed -r "/[a-z]/d;s/([0-9]{1,2})/$mon\/\1/g")
done




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2