1. 程式人生 > >批量更改文件名

批量更改文件名

shell



需求:

  1. 找到/123目錄下所有後綴名為.txt的文件

  2. 批量修改.txt為.txt.bak

  3. 把所有.bak文件打包壓縮為123.tar.gz

  4. 批量還原文件的名字,即把增加的.bak再刪除

參考答案



#!/bin/bash

##查找txt文件

find /123 -type f -name “*.txt” > /tmp/txt.list

##批量修改文件名

for f in `cat /tmp/txt.list`

do

mv $f $f.bak

done

##創建一個目錄,為了避免目錄已經存在,所以要加一個復雜的後綴名

d=`date +%y%m%d%H%M%S`

mkdir /tmp/123_$d

##把.bak文件拷貝到/tmp/123_$d

for f in `cat /tmp/txt.list`

do

cp $f.bak /tmp/123_$d

done

##打包壓縮

cd /tmp/

tar czf 123.tar.gz 123_$d/

##還原

for f in `cat /tmp/txt.list`

do

mv $f.bak $f

done


本文出自 “IT屌絲” 博客,請務必保留此出處http://68686789.blog.51cto.com/10438688/1980464

批量更改文件名