linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
#!/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 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件相关推荐
- linux java转码_用Linux shell脚本批量转换java源文件编码(支持命令行选项)
最近在用ant给java项目打jar包,但是程序运行出来之后,全部乱码,于是想到用Linux的iconv命令给java源文件转码,但是总不能一个一个地转吧,效率太低下了,于是便写了个Linux she ...
- 文件字符串变量插入linux,Linux Shell脚本实现在文件指定的行插入字符串
涉及知识点:grep字符串查找,awk截取列,until条件操作,sed字符串插入,变量与字符串连接等. 人工操作(首先vim打开文件找到字符串所在的位置,插入操作): vim /etc/glance ...
- 将数组a中满足条件的数放入数组b中
输入当前为数组a[6],各个元素值自行输入: 定义数组b的长度为b[6](未知数组长度时,尽量定义较大的空间): 循环遍历a中的元素是否满足条件,满足时将其放入b中,定义j为数组b中当前元素的位置,不 ...
- 【内容替换】shell脚本批量替换文件内容(替换ip及其他配置文件)
0.介绍 1.替换某个文件夹下所有文件及其子文件的内容 2.主要命令:sed -i "s/111/eee/g" $1"/"$file(将文件中所有的111替换为 ...
- linux执行ksh文件,linux – shell脚本(KSH)将文件设置为param并在param和string之间执行测试...
在我的 linux机器red-hat 5.1 – 在ppp文件中 – 我只有signature.pl字符串! > remark – 第三个应用程序将signature.pl字符串写入ppp文件 ...
- shell脚本自动回车_干货分享:Linux shell脚本分享!!快收藏起来吧
Linux shell 脚本分享 Shell 是一个命令解释器,处于内核和用户之间,负责把用户的指令传递给内核并且把执行结果回显给用户,Shell 它是一个用 C 语言编写的程序,它是用户使用 Lin ...
- linux shell 博客,【博客侠】Linux Shell脚本系列:开始上手(1)
看标题大家应该知道,这是一个关于 Linux Shell 脚本的系列文章.通过本系列文章希望帮助 Linux 初学用户快速开始上手编写 Shell 脚本,能够利索的对脚本进行测试和使用. 在接下来的首 ...
- linux连接oracle的日志,linux shell脚本连接oracle查询数据插入文件和日志文件中
#!/bin/sh sqlplus "用户名/密码@数据库"< sqlplus "用户名/密码"< sqlplus -S "用户名/密码& ...
- linux shell脚本字符串连接符,学习Linux shell脚本中连接字符串的方法
这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"= ...
最新文章
- 在CentOS 6.6 64bit上安装Oracle VirtualBox 5.0.12
- jmeter mysql plugin_jmeter连接mysql遇到的问题
- 根据twitter的snowflake算法生成唯一ID
- [牛客] Tree-换根dp(预防加法取模导致等0)
- 给matlab图加图注,matlab学习5-数据可视化4-gai.ppt
- 电脑主板跳线_DIY电脑主板的跳线安装及排序规则
- 【毕业论文写作技巧】毕业设计(论文)写作框架
- 人工神经网络理论、设计及应用_红层软岩大直径素混凝土置换桩复合地基设计理论及应用研究——以成都 ICON云端项目为例...
- 高分三号卫星GF-3极化SAR
- Python 玩出花儿了!一文教你用 Python 制作吃豆人游戏! | 附代码
- 单片机考试不挂科就等于学好单片机了吗,别太天真了
- 我的第一个小程序(Discuz! + 微信小程序)
- Greenplum常用SQL——通过表名查找shema名
- matlab报错slcc_interface_z6c0T9v%^%$
- 如何做内网穿透,在家里连回公司服务器做操作
- VMware Bitfusion GPU共享技术的应用场景
- 内联函数有什么优点?内联函数和宏定义的区别
- c语言:判断字符串是否符合手机号码格式
- 风扇,html css3,纯CSS3实现的3D风扇动画
- ARM_UART 串行通讯基础知识及编程
热门文章
- vue 刷新当前页面
- ecu故障现象_传感器坏了,会导致什么故障现象?
- python批量读取图片并复制入word_提取word文档中的图片并使用Python进行批量格式转换,出,Word,里,利用,python...
- .net在web.config中设置网站编码格式
- Python中近期Pandas使用总结
- jQuery实现锚点滑动定位
- Thread线程notify方法的自我理解
- 收拾了一下书架,感觉还是像破烂货市场一样
- 不要让别人左右自己的心情
- 断网问题解决【值得一记】