rule 发表于 2018-8-22 09:39:14

shell习题,批量更改文件名

#!/bin/bash  
##查找txt文件
  
find /tmp/123-type f -name "*.txt" > /tmp/txt.list
  
##批量修改文件名
  
for i in `cat /tmp/txt.list`
  
do
  
   mv $i $i.bak
  
done
  
##创建一个目录,为了避免目录已经存在,所以要加一个复杂的后缀名
  
d=`date +%y%m%d%H%M%S`
  
mkdir 123_$d
  
##把.bak文件拷贝到/tmp/123_$d
  
for b in `cat /tmp/txt.list`
  
do
  
   cp $i.bak/tmp/123_$d
  
done
  
##打包压缩
  
cd /tmp
  
tar -czf 123.tar.gz 123_$d/
  
##还原
  
for b in `cat /tmp/txt.list`
  
do
  
    mv $i.bak $i
  
done
  
##删除123_$d目录
  
rm -fr 123_$d


页: [1]
查看完整版本: shell习题,批量更改文件名