我有一个目录,其中包含一堆使用相同密码加密的zip存档(与其他文件混合在一起)。我想找到所有的zip文件并将它们解压缩到zip文件所在的目录中。
到目前为止,我有:
find -type f -name "*.zip" -exec sh -c 'unzip -pPASSWORD -d `dirname {}` {}' ';'
但是我收到了错误
error: must specify directory to which to extract with -d option
所有帮助表示赞赏。谢谢
答案 0 :(得分:1)
试试这个,也看看我在脚本中的评论它将如何运作: -
find -type f -name "*.zip" > zipfiles.txt
while read zipfilePath
do
directorypath=${zipfilePath%/*}
#get the path and separate the zipfile name
zipfile=${zipfilePath##*/}
#get the zipfile name from path
cd $directorypath
unzip -pPASSWORD $zipfile
done < zipfiles.txt
rm -rf zipfiles.txt