私がやろうとしていることの例は次のとおりです。
次の内容を含むフォルダ("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
ここには賢いものはありません。抽出を実行するオプションを含むコマンドがあるとしますunrar
。x
./*.rar と一致するコンテンツに対してループを実行し、ファイルであることを確認してディレクトリを作成し、サブシェルを使用してディレクトリを変更して抽出します。