ディレクトリ内のすべての.rarファイルを同じ名前のフォルダに抽出します。

ディレクトリ内のすべての.rarファイルを同じ名前のフォルダに抽出します。

私がやろうとしていることの例は次のとおりです。

次の内容を含むフォルダ("dir")があります。

dir
|_sub1.rar
|_sub2.rar
|_sub3.rar

~/をディレクトリに入れ、すべての.rarファイルを抽出し、内容を同じ名前のフォルダに保存するコマンドを実行しようとしています。 sub1.rarはsub1で抽出し、sub2.rarはsub2で抽出する必要があります。

ベストアンサー1

set -e
cd dir
for rar in ./*.rar
do
  [ -f "$rar" ] || continue
  dir=${rar%.rar}
  mkdir "$dir"
  (
     cd "./$dir"
     unrar x "../$rar"
  )
  # maybe rm "$rar"
done

ここには賢いものはありません。抽出を実行するオプションを含むコマンドがあるとしますunrarx./*.rar と一致するコンテンツに対してループを実行し、ファイルであることを確認してディレクトリを作成し、サブシェルを使用してディレクトリを変更して抽出します。

おすすめ記事