假设下面的归档文件file20150101.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
如果你想变得更健壮,可以处理多个文件的zips,等等。你可以分析原始名称中的日期戳(用
date
)并找到与该戳匹配的.txt
文件。