web-dev-qa-db-ja.com

いくつかのフォルダの再帰的なunrar

私はいくつかのRARアーカイブを複数のディレクトリに分散していますが、すべてDebianベースのNASの特定のルートフォルダの下にあります。誰かが、各フォルダーに再帰的に移動し、コンテンツを解凍し、親フォルダーに戻って次のディレクトリに移動する簡単なスクリプトを作成するのを手伝ってもらえますか?そう:

cd Photos/Summer/Italy/
unrar e Italy.rar
wait
cd ../France/
unrar e France.rar
wait
etc...

したがって、ルートフォルダ「Photos」をポイントするだけで、途中ですべてが発生することはありません...

たとえば、ディレクトリ構造:

*Photos:
 -Summer
  --Italy
   ---Italy.rar
   ---Italy.r01
   ---Italy.r02
  --France
   ---France.rar
   ---France.r01
   ---France.r02
 -Winter
  --Siberia
   ---Siberia.rar
   ---Siberia.r01
   ---Siberia.r02
  --Canada
   ---Snow.rar
   ---Snow.r01
   ---Snow.r02
8
Touff
find Photos/ -name '*.rar' -execdir unrar e {} \; 

unrarには、-rRecurse subdirectoriesスイッチを使用した再帰が組み込まれています。

unrar x -r <parent directory><parent directory>の下にあるすべてのサブディレクトリの内容を各サブディレクトリに抽出し、.rarファイルに存在するディレクトリ構造を保持します。ディレクトリ構造が不要な場合は、eではなくxを使用してください。

3
hmj6jmh

未使用の写真を別の目的地に移動する場合は、次のように最後に目的地を入力するだけです。

find source_dir/ -name '*.rar' -execdir unrar e -o- {} /new/destination_dir/ \;

1
Dennis