如何归档不同目录中的特定文件?

时间:2015-02-06 15:56:29

标签: linux search find archive tar

实际上我的linux中有一个文件对我来说非常重要,这个文件的名称是yz.tmp所以,我想搜索所有目录并将它们归档,怎么可能?

首先我通过这个命令找到所有这些:

find . -name "yz.tmp"

现在如何在没有目录的情况下归档它们?像这样:

yz01.tmp
yz02.tmp
.
.
.
yz100.tmp

1 个答案:

答案 0 :(得分:0)

这会将文件逐个附加到未压缩的tar存档test.tar

#!/bin/bash
i=1
for file in $(find . -name 'yz.tmp'); do
  NEW_NAME=$(printf "yz%03d.tmp" $i)
  tar rf test.tar --transform "s,.*,$NEW_NAME," "$file"
  i=$(($i+1))
done

使用--transform将文件即时重命名为您想要的格式。请注意,这不适用于压缩的tar档案。