如何解压子目录中的所有文件

如何解压子目录中的所有文件

我尝试通过此命令提取所有子目录中的所有文件

 $ find -name "*.bz2" -print  -exec bizp2 -d "*.bz2" {}\;
find: missing argument to `-exec'

但它不起作用:(

顺便说一句,我不明白 {} 的用法;

答案1

您的命令中有两个错误:

  • 省略 bzip2 的“*bz2”选项,{} 将被替换为任何文件查找返回
  • 在{}和\之间添加一个空格;

所以完整的命令是

 find -name "*bz2" -print -exec bzip2 -d {} \;

答案2

...我不明白你的命令...我只会使用:

 find -name *.bz2 -exec bzip2 -d '{}'  ';'

我不明白你为什么放“*.bz2”。根据

 man find

您应该将其放在引号 '' 中,因为 {} 可能会被 shell 解释。通过一些测试,我想我可以得出结论,问题在于您在 {} 和 \; 之间没有放置空格。而手册页指定最后一个参数应仅包含 ; 。

相关内容