需求:bash
找到/123目錄下全部後綴名爲.txt的文件ide
批量修改.txt爲.txt.bakit
把全部.bak文件打包壓縮爲123.tar.gzclass
批量還原文件的名字,即把增長的.bak再刪除打包
答案:date
#!/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