当前位置:  技术问答>linux和unix

linux批量修改文件名shell脚本

    来源: 互联网  发布时间:2016-08-28

    本文导语:  我现在需要一个shell脚本来批量修改文件名,具体需求如下: 在指定的目录下存在大量的文件(假设是down目录,现在需要修改的文件大概有6000个左右,在服务器上),文件名样例为AG000134010100774444.RPT,现在我要把某...

我现在需要一个shell脚本来批量修改文件名,具体需求如下:

在指定的目录下存在大量的文件(假设是down目录,现在需要修改的文件大概有6000个左右,在服务器上),文件名样例为AG000134010100774444.RPT,现在我要把某个时间段内(如20100101-20100115这个时间段内产生的文件)的文件名改成这种形式AG0001340101007744440000.RPT,也就是所有满足条件的文件名后面增加4个0。必须要用一个shell脚本来完成。望网上的高手尽快给个答复,因为明天一大早就要用到这个,所以特别急,万分感谢!

|

#!/bin/bash
if [ $# -ne 2 ];then
echo "Usage:$0 date_1 date_2"
exit 1
fi
target_path="/path/"    //修改成你文件夹的路径
filename=`ls ${target_path}`
for file in ${filename}
do
        #如果是上面我说的第一种情况,把这句的注释去掉
#file_date=`stat ${target_path}${file} | grep -i "Modify" | awk '{print $2}' | sed "s/-//g"` 
        #如果是上面我说的第二种情况,把这句的注释去掉
#file_date=`stat ${target_path}${file} | grep -i "Change" | awk '{print $2}' | sed "s/-//g"`
        #如果是上面我说的第三种情况,把这句的注释去掉
#file_date=`stat ${target_path}${file} | grep -i "Access" | awk '{print $2}'|tail -n 1 |sed "s/-//g"`
if [ $file_date -ge $1 -a $file_date -le $2 ];then
tmp=`echo ${file} | awk -F. '{print $1}'`
new_file=${tmp}0000.RPT
mv ${target_path}${file} ${target_path}${new_file}
fi
done


执行的时候 第一个参数就是较小的时间(20100101) 第二个参数是较大的时间(20100115)
比如你这个shell保存为test.sh 则/path/test.sh 20100101 20100115来执行

    
 
 

您可能感兴趣的文章:

  • 急::在Linux下怎么根据另一台windows或linux的文件名,去得到这个文件
  • linux下copy文件通常又些文件名的大小写会发生变化的,而linux又对大小写敏感,如何解决这一问题
  • java/j2ee iis7站长之家
  • linux 下如何修改文件名,文件内容
  • linux 查找文件名中带数字的文件
  • LINUX->WINXP下载文件的文件名乱码
  • 在windows下压缩成的.zip文件,在linux下解压后,不认识里边的中文目录和中文文件名,怎么办?(必须用.zip文件)
  • linux系统下中文文件名长度问题
  • linux下用c语言如何在不知道文件名的情况下读去一个目录里的所有文件?
  • 如何让linux系统启动时自动加载fat文件系统,并且能够识别中文目录名或文件名.
  • linux下把文件导入U盘文件名出现乱码的问题
  • !Linux系统里面的文件名长度有限值么?最大值是多少?
  • linux下script修改文件名的问题,请教!
  • winxp和linux双系统,在linux下访问winxp的中文名文件,文件名显示乱码。如何解决?
  • 在linux下访问windows2000,文件名无法正确显示问题
  • linux文件名
  • linux 批更改文件名
  • linux中文件名后跟“~”,咋回事
  • 如何在linux下显示中文文件名?
  • 怪怪怪!!我在linux里面弄了一个具有这样文件名:study article这样的文件夹,结果我用cd命令进不去!!
  • 请问在 LINUX下如何编辑脚本(可以直接运行脚本访问WINDOW系统)
  • 如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)
  • 关于arm linux下的别名配置脚本如何在进入用户时让shell执行的问题,如bashrc,profile,.bash_profile等脚本,寻求高手解答
  • Linux下如何编写脚本文件
  • 关于linux的脚本运行。。。求高人指点
  • linux重新启动后自动运行脚本程序
  • 谁能简单介绍一下LINUX上的各种语言脚本的功能.
  • linux shell脚本
  • 请问关于linux脚本的一个问题。
  • LINUX的系统管理脚本
  • Linux脚本
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux/Centos/ubuntu下如何使用umask命令修改新建文件时的默认权限
  • 求助,linux中修改了目录dir下的某个文件,相应的dir属性中的时间会与修改目录下文件的时间一致,这是怎么实现的?
  • linux/Centos下查看和修改网卡Mac地址(ifconfig命令)
  • 我是linux初学者,我修改了/ect/fstab,结果出现登陆报错,请教大家如何修改
  • linux修改用户密码出现问题,当密码修改为2011042109时,我可以用2011042108或2011042112等只要前8位一样后面任意输入都可以登录
  • 在redhat-linux7.2下,用lilo的方式启动,当升级内核时,如何修改/etc/lilo.conf文件?有没有什么设置让系统自动修改这个文件??
  • 虚拟机上的Linux怎么修改Linux内存
  • linux 代码修改后编译
  • 怎样修改linux下网卡的MAC地址?
  • 在装了xp后再装linux,现在grub默认启动是linux,如何修改,让默认启动为xp?
  • linux命令行模式下如何修改文件内容
  • linux 修改文件内容,在线等
  • 在linux下如何修改ip地址???-调用C函数
  • ---在Linux下如何修改只读文件 ?
  • 请问如何修改红旗LINUX的网络名称和工作组?
  • linux修改用户组命令..在线等
  • linux下如何修改控制台字体?
  • 使用SSH修改linux密码的问题
  • linux系统中建立一个用户专门用来修改系统时间怎么做?
  • 【请教】怎么修改linux内核参数
  • linux 修改ip,网关,怎么一直更新不了?
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3