#!/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. 在CentOS 6.6 64bit上安装Oracle VirtualBox 5.0.12
  2. jmeter mysql plugin_jmeter连接mysql遇到的问题
  3. 根据twitter的snowflake算法生成唯一ID
  4. [牛客] Tree-换根dp(预防加法取模导致等0)
  5. 给matlab图加图注,matlab学习5-数据可视化4-gai.ppt
  6. 电脑主板跳线_DIY电脑主板的跳线安装及排序规则
  7. 【毕业论文写作技巧】毕业设计(论文)写作框架
  8. 人工神经网络理论、设计及应用_红层软岩大直径素混凝土置换桩复合地基设计理论及应用研究——以成都 ICON云端项目为例...
  9. 高分三号卫星GF-3极化SAR
  10. Python 玩出花儿了!一文教你用 Python 制作吃豆人游戏! | 附代码
  11. 单片机考试不挂科就等于学好单片机了吗,别太天真了
  12. 我的第一个小程序(Discuz! + 微信小程序)
  13. Greenplum常用SQL——通过表名查找shema名
  14. matlab报错slcc_interface_z6c0T9v%^%$
  15. 如何做内网穿透,在家里连回公司服务器做操作
  16. VMware Bitfusion GPU共享技术的应用场景
  17. 内联函数有什么优点?内联函数和宏定义的区别
  18. c语言:判断字符串是否符合手机号码格式
  19. 风扇,html css3,纯CSS3实现的3D风扇动画
  20. ARM_UART 串行通讯基础知识及编程

热门文章

  1. vue 刷新当前页面
  2. ecu故障现象_传感器坏了,会导致什么故障现象?
  3. python批量读取图片并复制入word_提取word文档中的图片并使用Python进行批量格式转换,出,Word,里,利用,python...
  4. .net在web.config中设置网站编码格式
  5. Python中近期Pandas使用总结
  6. jQuery实现锚点滑动定位
  7. Thread线程notify方法的自我理解
  8. 收拾了一下书架,感觉还是像破烂货市场一样
  9. 不要让别人左右自己的心情
  10. 断网问题解决【值得一记】