解压多个压缩文件并根据需要自动重命名同名文件

解压多个压缩文件并根据需要自动重命名同名文件

我在一个文件夹中有一堆 Ziped 文件,我想解压缩所有文件,但自动重命名同名的文件夹或文件,例如:

ZIP_folder_1.zipZIP_folder_2.zip我有一个名为的文件夹my_name,如果我使用上述命令解压缩所有内容,命令行会询问我是否要重命名它,所以,如果我有 3k 个同名文件夹,我就会发疯。

我正在尝试使用:

find . -type f -name "*.zip" -exec unzip {} -d {}.contents/;

但我看到

find: missing argument to `-exec'

另一点是:我可以传递目标文件夹吗?

谢谢!!!

谢谢。

答案1

的论点通常是和-exec之间的内容-exec\;

我首先尝试在{}.contents和之间添加一个空格\; ,但我没有测试它以查看可能发生的事情

对于你的另一点,修改起始点可能find比修改-exec子句更容易。我建议做类似下面的事情,回想一下这$OLDPWD是上一个之前的旧工作目录cd (至少在 bash 中是这样的,在 tsch 中是这样的$owd

cd targetdirectory; find $OLDPWD -type f -name "*.zip" -exec unzip {} -d {}.contents /;

; cd $OLDPWD如果你想的话,你可以在末尾添加一个来修饰它,这样你就可以回到你的起点

相关内容