如何在unix中执行递归查找?

时间:2017-06-16 13:28:48

标签: shell unix

我有一个问题,我有一个包含其他zip文件的zip文件。例如/ home / data目录中的示例abc.zip包含def.zip,它再次包含gef.zip。 所以,目前我在unix中使用下面的命令:

find /home/data -depth -name '*.zip' -execdir unzip -n {} \; -delete

此命令解压缩文件,但在解压缩abc.zip后保留下一个可用的zip文件,这是正确的,因为它只通过目录一次。

请有人建议如何一次又一次地循环查找命令,直到使用unix shell脚本在/ home / data目录中没有zip文件。

1 个答案:

答案 0 :(得分:0)

这一点都不健全,但只要解压缩文件并检查是否存在,您就可以尝试创建文件。例如:

while
  rm -f /tmp/sentinel
  find /home/data -depth -name '*.zip' -execdir unzip -n {} \; -exec touch /tmp/sentinel \; -delete
  test -f /tmp/sentinel
do : ; done