#!/bin/bash
#业务实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
#
#文件名FilePath  文件内容如下
#bjzhadmin1525416085913/chwj0.jpg,bjzhongh,2018,03
#boangnadmin1523867175489/chwj0.jpg,boang,2018,03
#boangnadmin1523867237581/chwj0.jpg,boangrb,2018,03
#cqdboadmin1523872400061/chwj0.jpg,cqdianb,2018,03
#dhstadmin1530240454562/chwj0.jpg,dahanst,2018,03
#datangadmin1526367335047/chwj0.jpg,datang,2018,03
#feitianadmin1522825520992/chwj0.png,feitian,2018,03
#fenghadmin1524627508674/chwj0.jpg,fenghou,2018,03
#gxadmin1525759701702/chwj0.jpg,gxhyllhz,2018,03
#gzyxnewadmin1523416077332/chwj0.jpg,gzyxnew,2018,03
#gzzqhbadmin1526366655878/chwj0.png,gzzqbmhz,2018,03
#hzjjadmin1542694022549/chwj0.jpg,hangzjj,2018,03
#hzltadmin1526267199291/chwj0.jpg,hangzlt,2018,03
#hzltadmin1526267239897/chwj0.jpg,hangzltds,2018,03#循环读文件  line的值为每一行的信息
for line in `cat ./FilePath`
do#要将$a分割开,先存储旧的分隔符OLD_IFS="$line"#设置分隔符IFS="," #如下会自动分隔 加入数组arr=($line)#根据数组下标判断文件是否存在if [[ ! -f /data/www/flowbilling/${arr[0]} ]];then#不存在则记录日志  更改路径为从服务器存放路径  后期手动更改文件名 chwj变量 改为 chfile变量echo "/home/www/flowbilling-report/TuikuanIamges/${arr[0]},${arr[1]},${arr[2]},${arr[3]}" >> qvdaoduizhangdan.txt#如果文件路径存在,将其放入新路径else #创建目录 级联创建           参数代表着   chcode      年份     月份     去掉文件名后的目录#/data/www/flowbilling/chsettlement/chcode/年份/月份/filename/chwj变量.文件格式mkdir /data/www/flowbilling/chsettlement/${arr[1]}/${arr[2]}/${arr[3]}/${arr[0]%/*} -p#复制原文件 到新目录下cp /data/www/flowbilling/${arr[0]} /data/www/flowbilling/chsettlement/${arr[1]}/${arr[2]}/${arr[3]}/${arr[0]}fi
done

linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件相关推荐

  1. linux java转码_用Linux shell脚本批量转换java源文件编码(支持命令行选项)

    最近在用ant给java项目打jar包,但是程序运行出来之后,全部乱码,于是想到用Linux的iconv命令给java源文件转码,但是总不能一个一个地转吧,效率太低下了,于是便写了个Linux she ...

  2. 文件字符串变量插入linux,Linux Shell脚本实现在文件指定的行插入字符串

    涉及知识点:grep字符串查找,awk截取列,until条件操作,sed字符串插入,变量与字符串连接等. 人工操作(首先vim打开文件找到字符串所在的位置,插入操作): vim /etc/glance ...

  3. 将数组a中满足条件的数放入数组b中

    输入当前为数组a[6],各个元素值自行输入: 定义数组b的长度为b[6](未知数组长度时,尽量定义较大的空间): 循环遍历a中的元素是否满足条件,满足时将其放入b中,定义j为数组b中当前元素的位置,不 ...

  4. 【内容替换】shell脚本批量替换文件内容(替换ip及其他配置文件)

    0.介绍 1.替换某个文件夹下所有文件及其子文件的内容 2.主要命令:sed -i "s/111/eee/g" $1"/"$file(将文件中所有的111替换为 ...

  5. linux执行ksh文件,linux – shell脚本(KSH)将文件设置为param并在param和string之间执行测试...

    在我的 linux机器red-hat 5.1 – 在ppp文件中 – 我只有signature.pl字符串! > remark – 第三个应用程序将signature.pl字符串写入ppp文件 ...

  6. shell脚本自动回车_干货分享:Linux shell脚本分享!!快收藏起来吧

    Linux shell 脚本分享 Shell 是一个命令解释器,处于内核和用户之间,负责把用户的指令传递给内核并且把执行结果回显给用户,Shell 它是一个用 C 语言编写的程序,它是用户使用 Lin ...

  7. linux shell 博客,【博客侠】Linux Shell脚本系列:开始上手(1)

    看标题大家应该知道,这是一个关于 Linux Shell 脚本的系列文章.通过本系列文章希望帮助 Linux 初学用户快速开始上手编写 Shell 脚本,能够利索的对脚本进行测试和使用. 在接下来的首 ...

  8. linux连接oracle的日志,linux shell脚本连接oracle查询数据插入文件和日志文件中

    #!/bin/sh sqlplus "用户名/密码@数据库"< sqlplus "用户名/密码"< sqlplus -S "用户名/密码& ...

  9. linux shell脚本字符串连接符,学习Linux shell脚本中连接字符串的方法

    这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"= ...

最新文章

  1. MyBatis启动:MapperStatement创建
  2. 五项挑战获四项第一,地平线霸榜Waymo自动驾驶算法挑战赛
  3. 计算机专业学生却被强迫工厂实习?结果发生意外手指被截肢,学校回应:会治到满意为止...
  4. 高并发架构系列:如何从0到1设计一个MQ消息队列
  5. 微软出资10亿美元研究AGI,意与谷歌竞争?
  6. socket阻塞和非阻塞的区别
  7. sass、gulp应用
  8. log4cplus c++开源日志系统
  9. php毕设周记_php实习日记
  10. Dubbo之手写RPC框架
  11. 单机塔防游戏推荐_十大塔防单机手游2019 简单好玩的单机塔防游戏推荐
  12. LTE(4G) ATTACH流程
  13. Python基于OpenCV的人脸表情识别系统[源码&部署教程]
  14. 26thCSIG云上微表情:基于面部动作单元(AU)的微表情分析
  15. 西储大学轴承数据小波变换
  16. django 改端口_django更改默认的runserver端口
  17. windows控制台命令合集
  18. JavaWeb(后端)
  19. 【ICCV19 超分辨】Deep SR-ITM: Joint Learning of Super-Resolution and Inverse Tone-Mapping for 4K UHD HDR
  20. 华为手机鸿蒙系统手机_这四款华为手机将支持升级鸿蒙2.0,你在用吗?

热门文章

  1. 【联合仿真】Adams六关节机械臂与Matlab/Simulink的联合仿真(上)
  2. 机器学习--支持向量机(一)什么是支持向量机
  3. XML常用的几种解析方式
  4. 2fsk调制解调原理框图_数字调制解调输出什么 数字调制解调输出特点介绍【图文】...
  5. android ios 传视频播放器,推荐用于iOS / Android全面格式的视频播放器|手机最强大的播放器...
  6. 结对作业_代码复审= =
  7. Android Studio Xposed模块编写(一)
  8. LightOJ 1058 平行四边形的判断定理
  9. 【转载】通过SQL获取MSSQL的数据库相关信息收藏
  10. 日志输出到文件nacos 配置_python 配置日志输出到终端与文件