【问题标题】:Move and rename files within a tar archive在 tar 存档中移动和重命名文件
【发布时间】:2015-09-01 14:10:17
【问题描述】:

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

【问题讨论】:

  • 解压,cd 进入目录,然后归档
  • @user3791372 有没有办法在一行中做到这一点?

标签: linux unix tar


【解决方案1】:

按照建议,“一行”:

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

【讨论】:

    猜你喜欢
    • 2014-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多