我的文件结构如下:
我有一个脚本将文件夹解压缩到父目录“archives”,但它将文件夹的内容解压缩到“archives”目录。我需要将压缩文件夹保留为“archives”目录下的文件夹。生成的文件结构应如下所示:
我目前正在使用以下内容:
find /home/username/archives/zips/*.zip -type f | xargs -i unzip -d ../ -q '{}'
如何修改此行以保留原始文件夹名称?是否像使用../*
一样简单?
答案 0 :(得分:2)
您可以使用basename
将zip解压缩到所需的目录中:
find /home/username/archives/zips/*.zip -type f -exec sh -c 'unzip -q -d ../"$(basename "{}" .zip)" "{}"' \;