以下命令用于unrar
将档案提取到特定文件夹。
unrar e -r -o- /home/username/source/directory/*.rar /home/username/copy/extracted/to
里面/home/username/source/directory
有一些包含.rar
档案和一些其他文件的子目录(.r01
,,.r02
...)。我想将.rar
文件提取到/home/username/copy/extracted/to
并删除该/home/username/source/directory
文件夹或该文件夹中的所有文件。
在上面的命令中,提取完成后我应该把删除命令放在哪里?
答案1
更新
在 OP 澄清 .rar 文件位于子目录内后,我认为这是一种更好的方法。
用于find
查找目录及其子目录中的所有 .rar 文件。使用find
的-exec
标志执行unrar
命令以解压文件,并&& rm -r /home/username/source/directory
在末尾添加以删除/home/username/source/directory
文件夹及其内容:
find /home/username/source/directory/ -type f -name "*.rar" -exec unrar e -o- {} /home/username/copy/extracted/to \; && rm -r /home/username/source/directory
旧答案
您可以执行以下操作:
for file in /home/username/source/directory/*.rar; do unrar e -r -o- "$file" /home/username/copy/extracted/to && rm -- "$file"; done