【发布时间】:2015-05-22 20:25:27
【问题描述】:
鉴于以下存档文件 20150101.zip,其中仅包含一个文件 file1115.txt,我将如何重命名其中的文件以匹配存档名称(file1115.txt 到 file20150101.txt)?
我尝试过使用 unzip -u ,但没有成功(很可能是因为误解了它的工作原理)。
【问题讨论】:
鉴于以下存档文件 20150101.zip,其中仅包含一个文件 file1115.txt,我将如何重命名其中的文件以匹配存档名称(file1115.txt 到 file20150101.txt)?
我尝试过使用 unzip -u ,但没有成功(很可能是因为误解了它的工作原理)。
【问题讨论】:
我怀疑您是否可以直接执行此操作。您可能需要重新创建 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 文件。
【讨论】: