在tar存档中移动和重命名文件

时间:2015-09-01 14:10:18

标签: linux unix tar

我有一个名为MyFiles.tar的tar存档,其中包含一个名为Directory的文件夹。在文件夹中,我有四十个或更多名为:

的文件
MyFile_01.txt.gz 
MyFile_02.txt.gz 
MyFile_03.txt.gz 
MyFile_04.txt.gz 
MyFile_05.txt.gz...

例如:

tar -tf MyFiles.tar

的产率:

Directory/MyFile_01.txt.gz
Directory/MyFile_02.txt.gz
Directory/MyFile_03.txt.gz
Directory/MyFile_04.txt.gz
Directory/MyFile_05.txt.gz...

我想删除"目录"文件夹并重命名文件以便

tar -tf MyFiles.tar

的产率:

Sample_01.txt.gz
Sample_02.txt.gz
Sample_03.txt.gz
Sample_04.txt.gz
Sample_05.txt.gz...

1 个答案:

答案 0 :(得分:0)

如建议的那样,“一行”:

tar xf MyFiles.tar; cd Directory; for n in MyFile_[0-9]*.txt.gz ;do [ -f "$n" ] && mv -f "$n" $(echo $n|sed -e s/MyFile/Sample/); done; tar cf ../Sample.tar Sample_[0-9]*.txt.gz; cd ..; rm -rf Directory