【问题标题】:bash: using unzip to change filename within archivebash:使用解压缩更改存档中的文件名
【发布时间】:2015-05-22 20:25:27
【问题描述】:

鉴于以下存档文件 20150101.zip,其中仅包含一个文件 file1115.txt,我将如何重命名其中的文件以匹配存档名称(file1115.txt 到 file20150101.txt)?

我尝试过使用 unzip -u ,但没有成功(很可能是因为误解了它的工作原理)。

【问题讨论】:

    标签: linux bash zip unzip


    【解决方案1】:

    我怀疑您是否可以直接执行此操作。您可能需要重新创建 zip 存档。

    syncname() {
        zip=$1
        bare=${1%.zip}
        new=$bare.txt
    
        unzip "$zip"
        mv file*.txt "$new"
        rm "$zip"
        zip "$zip" "$new"
    }
    
    syncname file20150101.zip
    

    如果您想更健壮,可以处理包含多个文件的 zip,等等。您可以解析原始名称中的日期戳(使用 date)并为该戳找到匹配的 .txt 文件。

    【讨论】:

      猜你喜欢
      • 2015-12-26
      • 2022-12-21
      • 2010-12-06
      • 2017-05-01
      • 1970-01-01
      • 2020-07-10
      • 2010-10-13
      • 1970-01-01
      • 2014-08-12
      相关资源
      最近更新 更多