如何一次性提取多个文件?

如何一次性提取多个文件?

我存储了许多 rar 文件,如下所示:

/torrents/televisionshowS01E0$X/nameoftelevisionshow.rar

其中 $X 是变量 ={0,1,2,...,12}

我想使用单个命令将它们提取到单个输出目录(/publicshare/)。

以下是我目前所掌握的信息:

for i in find /torrents/televisionshowS01*/ -name *.rar; do unrar x "$i" /publicshare/;done

但我得到了以下结果:

Cannot open /torrents/televisionshowS01E01/.rar
No such file or directory
No files to extract

但是,find /torrents/televisionshowS01*/ -name *.rar 返回正确的路径。

答案1

哦,看了其他人的 bashscript,我意识到应该在 find 命令周围加上反引号。像这样,

for i in `find /torrents/televisionshowS01*/ -name *.rar`; do unrar x "$i" /publicshare/; done

然后命令就按照我希望的方式运行了。不过,我仍然不确定具体原因。我假设它们的工作方式与数学中的括号相同。显然,这次成功了,但作为良好实践,我是否应该在 周围加上反引号unrar x "$i" /publicshare/

谢谢

相关内容