我存储了许多 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/
?
谢谢