내가 하려는 일의 예는 다음과 같습니다.
다음 내용이 포함된 폴더("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과 일치하는 콘텐츠에 대해 루프를 실행하고 파일인지 확인한 다음 디렉터리를 만든 다음 하위 쉘을 사용하여 디렉터리를 변경하고 추출하면 됩니다.