Exec

如何解壓縮子目錄中的所有文件

  • October 3, 2015

我嘗試通過此命令提取所有子目錄中的所有文件

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

但它不起作用:(

順便說一句,我不明白 {} 的用法;

您的命令中有兩個錯誤:

  • 省略 bzip2 的“*bz2”選項,{} 將被替換為任何文件查找返回
  • 在 {} 和 \ 之間添加一個空格;

所以完整的命令是

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

……我不明白你的命令……我會使用:

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

我不明白你為什麼放“* .bz2”。根據

man find

你應該把它放在引號 ’’ 中,因為 {} 可以被 shell 解釋。通過一些測試,我想我可以得出結論,問題在於您在 {} 和 ; 之間沒有空格。而手冊頁指定最後一個參數應僅包含 ; .

引用自:https://unix.stackexchange.com/questions/233729