Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1133011
  • 博文数量: 221
  • 博客积分: 10152
  • 博客等级: 上将
  • 技术积分: 1518
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-22 10:42
文章分类

全部博文(221)

文章存档

2018年(1)

2015年(6)

2014年(3)

2013年(4)

2012年(1)

2011年(5)

2010年(14)

2009年(10)

2008年(28)

2007年(33)

2006年(114)

2005年(2)

我的朋友

分类:

2006-09-07 17:11:36

   在unix系统下经常要碰到改文件名,如果是改单个文件则好处理,但要是批量改文件名则工作量很大,必须运用shell程序来实现,以下程序就是通过shell来实现批量更改日志文件名的程序,大家可以稍作修改,就可以实现批更改你所需要更改的文件名。
    以下就为程序内容,可供大家学习参考:
#此处SHELL脚本是将CYYMMDD.*的文件批改名为YYYYMMDD.*的文件
STR="请选择:"
DATE="请输入日期(031001):"
while true
echo "1) 批更改文件名"
echo "0) 退出\n"
printf $STR
read anwser
do
 case $anwser in
  1)
  printf $DATE
  read ndate
  file1='C'$ndate'.*'
#定义FILE1为C打头的带日期的所有文件
  #echo $file1
  ls $file1 > test.txt
  out1=`more test.txt|awk '{print $1}'`
  number=`more test.txt|wc -l`
  i=1
  echo "number = " $number
  while true
  do
   put1=`echo $out1|awk '{print $'$i'}'`
   put2=`echo $out1|awk '{print substr($'$i',2,10)}'`
   put2='20'$put2
   echo $put1
   echo $put2
    mv $put1 $put2
   i=`expr $i + 1`
   if [ $i -gt $number ]
   then
    break
   fi
  done
  echo "批更改文件成功!\n"
  ;;
  0)
   exit
  ;;
 esac
done
阅读(1084) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~