鉴于以下归档文件20150101.zip,其中只包含一个文件file1115.txt,我将如何重命名文件内部以匹配归档的名称(file1115.txt到file20150101.txt)?
我尝试使用unzip -u失败了(很可能是因为误解了它应该如何工作)。
答案 0 :(得分: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
如果您想要更强大,处理具有多个文件的拉链等,您可以使用原始名称解析日期戳(使用date
)并找到匹配的.txt
文件那个邮票。