我有一个名为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...
答案 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