저는 암호를 제거하기 위해 다시 압축해야 하는 많은 수의 암호로 보호된 .rar 파일을 작업하고 있습니다. (비밀번호는 알고 있습니다.) 이전과 동일한 이름과 디렉터리 구조를 유지하면서 일괄/반복적으로 추출하고 다시 패키징할 수 있는 스크립트가 있는지 궁금합니다.
답변1
이 작업을 두 부분으로 나누겠습니다. 첫 번째 부분은 rerar
rar을 추출 및 빌드하고 rar의 이름을 매개변수로 사용하는 스크립트가 필요하다는 것입니다.
#!/bin/bash
R="$PWD"/"$1" # if realpath is available you can use R=$(realpath "$1")
tmpdir=$(mktemp -d --suff rerar)
pushd "$tmpdir"
# extract preserving directory structure of the archive
# replace YOUR_PASS_WORD in the next line, with no space after "-p"!
unrar x -pYOUR_PASS_WORD "$R"
# backup the rar file, optional
mv "$R" "$R".org
# re-create recursively going over the files here
rar a -r "$R" .
popd
rm -rf "$tmpdir"
이제 관련된 모든 rar 파일에 대해 이 명령을 실행하면 됩니다.find
find . -name "*.rar" -exec ./rerar {} \;
여러 매개변수를 사용하여 스크립트를 호출하는 것만큼 효율적이지는 않지만 여기서 시간이 많이 걸리는 작업은 rar 아카이브를 다시 만드는 것이므로 간단한 솔루션을 선택했습니다.