抱歉,这个问题很简单,但我无法让它工作:我有一个装满 .zip 文件的文件夹,每个 .zip 文件都只包含一个 .xml 文件。zip 文件有合理的名称,如 a.zip 等,而其中包含的 .xml 文件有一些“随机名称”.xml
现在我想解压文件夹中的所有 .zip 文件,保留 .zip 文件的名称,以便A.zip 解压后为A.xml, b.zip 到b.xml 等等...
我只能用以下命令实现批量解包:
for z in *.zip; do unzip "$z"; done
我该如何增强此功能以保留名称?
答案1
.xml
假设您启动时该目录中没有任何文件并且每个目录.zip
只有一个.xml
文件,那么您可以这样做。
for z in *.zip; do
unzip $z
mv *.xml `echo $z | sed "s/\.zip$/.xml/"`
done