丁祖平

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

【题目要求】

找到123/目录下所有后缀名为.txt的文件

1. 批量修改.txt为.txt.bak

2. 把所有.bak文件打包压缩为123.tar.gz

3. 批量还原文件的名字,即把增加的.bak再删除

【核心要点】

find 用来查找所有的.txt文件

tar 打包一堆文件

还原文件名用for循环

【脚本】

#!/bin/bash
find /123/ -type f -name "*.txt" > /tmp/txt.list 
for f in `cat /tmp/txt.list`
do
    mv $f  $f.bak
done

#find /123/ -type f -name *.txt |xargs -i mv {} {}.bak 
#find /123/ -type f -name *.txt -exec mv {} {}.bak \;

for f in `cat /tmp/txt.list`
do
    echo $f.bak
done > /tmp/txt.bak.list 

#备份
tar -czvf 123.tar.gz `cat /tmp/txt.bak.list |xargs ` for f in `cat /tmp/txt.list` do mv $f.bak $f done

 

posted on 2019-04-25 14:47  丁祖平  阅读(847)  评论(0编辑  收藏  举报