複数のファイルを一度に抽出するにはどうすればいいですか?

複数のファイルを一度に抽出するにはどうすればいいですか?

次のように、いくつかの rar ファイルが保存されています。

/torrents/televisionshowS01E0$X/nameoftelevisionshow.rar

ここで、$Xは変数={0,1,2,...,12}です。

1 つのコマンドを使用して、それらを 1 つの出力ディレクトリ ( ) に抽出したいと思います/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/?をバッククォートで囲むべきだったでしょうか。

ありがとう

関連情報