/VR
ㄴ /SIVR032
  ㄴ sivr032.part1.rar
  ㄴ sivr032.part2.rar
ㄴ /SDVR705
  ㄴ sdvr705.part1.rar 
  ㄴ sdvr705.part2.rar 
  ㄴ sdvr705.part3.rar
ㄴ /MDVR112...

이런 식으로 많은 서브 폴더 아래에 압축 파일이 각각 존재할 때, 한 번에 모든 압축 파일을 풀기 위한 방법이다.
Synology DSM 6, unrar 5.21 freeware 버전 기준으로 작성되었다.

find /VR/ -name "*.rar" -exec unrar x -o- -pvrno {} /VR/ \;

find 명령어로 /VR 폴더 내의 모든 rar 파일을 검색한 후, unrar로 /VR 폴더에 압축을 푼다.

unrar x -o- -pvrno {} /VR/ 옵션의 의미는 다음과 같다.

  • x :: 명령어이기 때문에 -가 x 앞에 붙지 않는다. 폴더가 통째로 압축되어 있는 압축 파일이면 폴더까지 같이 풀어준다. 폴더는 무시하고 압축 해제된 파일만 풀고 싶다면, e를 대신 쓰면 된다.
  • -o- :: option 항목이기 때문에 -로 시작한다. 동일 이름을 가진 파일이 있으면 덮어 씌울지의 여부를 결정한다. o 뒤의 기호가 -이면 no, +이면 yes의 의미이다. 이 옵션이 없으면 매번 물어본다.
  • -pvrno :: option 항목이기 때문에 -로 시작한다. 정해진 비밀번호를 자동 입력한다. 이 경우 p뒤의 문자 vrno가 비밀번호이다. unrar help에서 -p[password]라고 써있다고 [ ]괄호를 넣으면 안된다.
  • {} :: find에서 검색된 파일명이 여기 들어간다.
  • /VR/ :: /VR/ 폴더 안에 풀라는 의미이다. 해당 내용이 없으면, 명령어를 실행하는 위치에 풀린다.

압축 해제 후 원본 압축 파일을 지우고 싶다면, 아래와 같이 rm 명령어를 추가해도 된다. 압축 해제가 실패 했을때는 rm 명령어가 실행이 안되는 것을 확인했지만, 사용상 주의가 필요하다.

find /VR/ -name "*.rar" -exec unrar x -o- -pvrno {} /VR/ \; -exec rm {} \;