递归搜索RAR文件并解压,解压后删除

Ada*_*dam 6 command-line

我想递归搜索文件夹,提取 RAR 文件,然后删除 .nfo、.svf 和 RAR 文件(*.rar 和 *.r1、*.r2 等)。

我找到了一个递归提取但不删除的命令:

find ./ -name '*.rar' -exec unrar e {} \;
Run Code Online (Sandbox Code Playgroud)

hee*_*ayl 7

附加另一个-exec谓词(在rm里面),只有在第一个成功时才会运行:

find . -name '*.rar' -exec unrar e {} \; -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)

-exec rm {} \;.rar如果unrar-ing 成功 ( -exec unrar e {} \;) 即unrar以退出状态 0 返回,则只会运行以删除文件。


如果-ing 成功bash,您也可以使用、使用globstar选项递归匹配全局模式 ( *.rar) 和rm每个文件unrar

find . -name '*.rar' -exec unrar e {} \; -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)