码迷,mamicode.com
首页 > 其他好文 > 详细

分享一个脚本建多级目录的脚本,批量复制的脚本

时间:2015-05-04 15:36:55      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

    linux下的bash脚本,据说很简单,但是我没有学过脚本,甚至语法的书我都没看过,所以,脚本不会写,但大概能看懂啥意思,也不想刻意花大量时间去学。

这个脚本是这样的,我要在某个目录下建立很多目录,例如000,001,002,003...大概1000个,而在每一个子目录中还要建立子目录,也是000,001,002,...大概1000个,最终这些最底层目录下放文件,文件的目录大概是这样data/000/008/*.txt,现在要建立这样的目录结构,人工去建立肯定是打死也不想做的,于是想简单偷懒,从网上找,找了1个多小时,还别说,找到了,但是来源,没记录,所以先分享记录下吧,下面是代码:

#!/bin/sh
for i in $(seq -w 1 999)
do
	for j in $(seq -w 1 999)
	do
		mkdir -p NewRingFile22/$i/$j
	done
done
    我把它命名为makedirs.sh,linux下运行:./makedirs.sh,最终目录结构(目录下运行:tree)如下图:

技术分享

这是一部分,目录062下还有目录001~999,以上代码很简单,却可以帮助解决很多繁杂的问题,语法也就循环里面的do。。done,核心是mkdir -p ,表示允许有父目录,不懂的回去在linux下:man mkdir 

        下面再说一个批量复制并重命名的脚本,一般情况发生在测试的时候,比如你只有一个带处理数据,要测试1W个这样的数据,要写个脚本,复制+重命名,下面是代码:

#!/bin/bash
i=0
F=a
while [$i -le 1000] #循环1000次,直到小于i,即0
do
    cp -vf *.txt $F$i.txt   #复制*.txt为ai.txt,i为变量,每次+1
    let i+1
done
        非常方便,要多用这种简约但很精髓的脚本,并尝试着去写,如果用C或其他语言去写。。。犹如用大斧子在削铅笔。结果的图自己回去运行就看到了




分享一个脚本建多级目录的脚本,批量复制的脚本

标签:

原文地址:http://blog.csdn.net/recsysml/article/details/45479749

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!