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

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或其他语言去写。。。犹如用大斧子在削铅笔。结果的图自己回去运行就看到了

时间: 2024-10-09 20:01:28

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

[shell实例]——用脚本实现向多台服务器批量复制文件(nmap、scp)

练习环境: (1)所有服务器将防火墙和selinux关闭 (2)所有服务器的root密码设置为aixocm (3)所有服务器都为10.0.100.*网段,并保证能够和其它主机通信 (4)所有服务器确保sshd服务已经启动(开放默认的22端口) 脚本要求实现: 将本机/etc目录下以conf为扩展名的文件打包压缩为tar.bz2,然后将此文件复制一份到10.0.100.1-->10.0.100.254地址段上所有开启的主机,具体路径为/tmp/sjjy/文件.在使用scp复制时无需手动输入密码.

PHP递归创建多级目录(一道面试题的解题过程)

今天看到一道面试题,要写出一个可以创建多级目录的函数: 我的第一个感觉就是用递归创建,具体思路如下: function Directory($dir){ if(is_dir($dir) || @mkdir($dir,0777)){ //查看目录是否已经存在或尝试创建,加一个@抑制符号是因为第一次创建失败,会报一个“父目录不存在”的警告. echo $dir."创建成功<br>"; //输出创建成功的目录 }else{ $dirArr=explode('/',$dir); /

crt批量备份网络设备脚本

利用vbs脚本通过secureCRT远程登录来批量备份网络设备脚本 使用:打开secureCRT然后选择脚本,运行此脚本就可 此脚本调用e:/设备备份/ip.txt文件,此文件内格式:ip地址 用户名 密码 设备名 #$language = "VBScript" #$interface = "1.0" crt.Screen.Synchronous = True Sub Main Const ForReading = 1 ForWriting = 2 ForAppen

分享一个MySQL分库分表备份脚本(原)

分享一个MySQL分库备份脚本(原) 开发思路: 1.路径:规定备份到什么位置,把路径(先判断是否存在,不存在创建一个目录)先定义好,我的路径:/mysql/backup,每个备份用压缩提升效率,带上时间方便整理 2.取数据库:抓取数据库名称,我用的awk和grep配合取数据库的名称(如果想按照表备份可以再细化一下)注意要用mysql -e选项 这样才能做成脚本 3.系统环境变量:因为用到了函数,所以非系统内置的命令 最好在脚本里面用 . /etc/profile  把系统当前的环境变量传过来

分享一个批量导出当前实例下的所有linkedserver脚本

原文:分享一个批量导出当前实例下的所有linkedserver脚本 分享一个批量导出当前实例下的所有linkedserver脚本 很多时候,我们都需要导出实例下面的登录用户,job,linkedserver等等 导出job比较复杂,下午写了一个脚本把所有的linkedserver导出来,但是密码不会显示出来 下面脚本在SQL2008 R2下面测试通过 -- ============================================= -- Author: <桦仔> -- Blog

分享一个监控网络,磁盘使用,平均负载和RAM使用的shell脚本

分享一个日常使用的监控网络,磁盘使用,平均负载和RAM使用的shell脚本 脚本在附件中. 使用截图如下:

分享一个SQLSERVER脚本

原文:分享一个SQLSERVER脚本 分享一个SQLSERVER脚本 很多时候我们都需要计算数据库中各个表的数据量很每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tablespaceinfo ( nameinfo VARCHAR(50) , rowsinfo BIGINT , reserved VARCHAR(20) , datainfo VARCHAR(20) , index_size VARCHAR(20) , unused VARCHAR(20) ) DECLARE @

分享一个R语言的脚本【时间记录】

分享一个R语言的脚本 最近捣弄下一个R语言的脚本,不知道大家有没有看过<奇特的一生>这本书,我高中看了后,高三就山寨了柳比歇夫大神的方法,记录时间开销.个人感觉是挺有用的. 脚本就是把下面的这种excel文件导入并自动转化成饼形图,输出图片到本地. 代码在此: record <- read.table("Book1.csv", header=TRUE,sep=",", fill=TRUE); library(ggplot2); new_sum<

分享一个查IP归属地的python脚本

今天同事给了6W多个IP叫我查出ISP和归属地,果断用python urllib2搞之,数据库用是淘宝的API接口 #!/usr/bin/python #coding:utf-8 import urllib2 import json import time url = 'http://ip.taobao.com/service/getIpInfo.php?ip=' def checkTaobaoIP(ip):     try:         response = urllib2.urlopen