需求:bash
找到/123目錄下全部後綴名爲.txt的文件ide
批量修改.txt爲.txt.bakspa
把全部.bak文件打包壓縮爲123.tar.gzorm
批量還原文件的名字,即把增長的.bak再刪除it
參考答案class
#!/bin/bash打包
##查找txt文件date
find /123 -type f -name 「*.txt」 > /tmp/txt.listmargin
##批量修改文件名top
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