shell 实战拷贝不特定文件到不特定目录
2013-12-02 19:54
225 查看
群里的朋友问了一个工作中实际遇到的问题。他有两个列表文件,一个存的是文件,一个存的是目录,要将文件列表里的文件拷贝到目录列表中的目录中。两个文件行数相同,一一对应。
文件a(文件列表)的内容如下:
/data/discuz/201310/12/4.txt
/data/discuz/201311/11/3.txt
/data/discuz/image/5.txt
文件b(目录列表)的内容如下:
/data/www/241/241discuz/201310/12
/data/www/241/241discuz/201311/11
/data/www/241/241discuz/image
实现这个功能很简单,遍历目录列表,如果这个目录不存在,就创建,将a中的对应行取出。判断文件是否存在,如果存在拷贝过去,如果不存在,输出到错误日志。闲言少叙,上代码:
文件a(文件列表)的内容如下:
/data/discuz/201310/12/4.txt
/data/discuz/201311/11/3.txt
/data/discuz/image/5.txt
文件b(目录列表)的内容如下:
/data/www/241/241discuz/201310/12
/data/www/241/241discuz/201311/11
/data/www/241/241discuz/image
实现这个功能很简单,遍历目录列表,如果这个目录不存在,就创建,将a中的对应行取出。判断文件是否存在,如果存在拷贝过去,如果不存在,输出到错误日志。闲言少叙,上代码:
#!/bin/bash #create by Chenchao Gao #function: cp file in a to dir in b #date: 2013/12/02 num=0 LOGFILE="/tmp/faild_log.txt" for line in `cat 2.txt` do if [ ! -d $line ];then mkdir -p $line fi ((num=num+1)) fileName=`sed -n ${num}p 1.txt` if [ -e $fileName ];then cp $fileName $line else echo "$fileName is not exist,copy to $line faild" >>$LOGFILE fi done
相关文章推荐
- 简单的shell文件编写:拷贝特定的可执行文件到某特定目录下。
- 简单的shell文件编写:拷贝特定的可执行文件到某特定目录下。
- vs更改exe生成的文件夹和拷贝文件到特定目录(如dll)
- shell 遍历目录 批量解压文件名含有某字符串及特定后缀的文件
- python 拷贝特定后缀名文件,并保留原始目录结构的实例
- 批处理学习笔记12 - 拷贝大文件到特定目录 Copy命令
- shell脚本:拷贝android源码下所有的Android.mk到特定目录
- shell 递归函数---循环拷贝文件到指定目录
- shell小技巧实战-判断文件或目录是否存在
- Java编程___File各类方法使用(实现拷贝特定文件至特定目录下)
- shell 递归拷贝目录下的制定文件
- shell 递归函数---循环拷贝文件到指定目录
- XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件
- python 拷贝特定后缀名文件,并保留原始目录结构
- Shell编程——统计特定目录下文件个数
- Linux Shell编程实战---计算特定目录下前10个大文件
- Rhel7 find查找属于特定用户或组的文件,并将其拷贝到指定目录
- shell 拷贝文件到指定用户目录
- XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件
- xcopy拷贝目录并排除特定文件