我儲存了許多 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/
嗎?
謝謝