LINUX.ORG.RU

[unrar/7z]Вопрос по распаковки толпы архивчеков разом.


0

0

Имею дерево (ниже пример) директорий, в каждой директории лежит от 1 до много rar-архивов, в общей сложности их около 5600.

find . -name *.rar -exec unrar x '{}' \;

распаковывает всё в текущую директорию, а надо чтобы содержимое архива лежало «рядом» с самим архивом. Хэлп.

дерево такое:

.
|-- CATEGORY
|   |-- BASS
|   |   |-- ACOUSTIC
|   |   |   |-- UPRIGHT
|   |   |   `-- WOODEN
|   |   |-- COMBINED
|   |   |-- ELECTRIC
|   |   |   |-- FINGERED
|   |   |   |   `-- STD01
|   |   |   |-- FRETLESS
|   |   |   |-- NAMED
|   |   |   |   |-- A2001
|   |   |   |   |-- FJAZZBS
|   |   |   |   |-- FPRECIS
|   |   |   |   |-- HOHNERBS
|   |   |   |   |-- MMAN
|   |   |   |   `-- RICKBS
|   |   |   |-- PICKED
|   |   |   |   `-- STD01
|   |   |   |-- SLAP
|   |   |   |   |-- PENA
|   |   |   |   `-- STD01
|   |   |   |-- STD01
|   |   |   `-- STD02
|   |   |-- FILTER
|   |   |   `-- FILTER01
|   |   |-- HOUSE
|   |   |   |-- RAVE01
|   |   |   |-- STD01
|   |   |   `-- TECHNO01
|   |   |-- STANDARD
|   |   |   |-- STD01
|   |   |   |-- STD02
|   |   |   |-- STD03
|   |   |   |-- STD04
|   |   |   |-- STD05
|   |   |   |-- STD06
|   |   |   |-- STD07
|   |   |   |-- STD08
|   |   |   `-- STD09
|   |   `-- SYNTH
|   |       |-- 303
и т.д. (набор инструментов для МилкиТрекера)

★★
Ответ на: комментарий от sdio

неработает...

много раз

FXPUNCH1.XI already exists. Overwrite it ?
[Y]es, [N]o, [A]ll, n[E]ver, [R]ename, [Q]uit 
Enter new name: 

и в конце:

Creating    cd `dirname                                               OK
Creating    cd `dirname /home                                         OK
Creating    cd `dirname /home/username                                  OK
Creating    cd `dirname /home/username/trackmuz                     OK
Creating    cd `dirname /home/username/trackmuz/instruments         OK
Creating    cd `dirname /home/username/trackmuz/instruments/FX      OK
Creating    cd `dirname /home/username/trackmuz/instruments/FX/SET  OK
Creating    cd `dirname /home/username/trackmuz/instruments/FX/SET/FX02  OK
Extracting  cd `dirname /home/username/trackmuz/instruments/FX/SET/FX02/fxzap.rar`; unrar x fxzap.rar  OK 
All OK
sh: line 5980: unexpected EOF while looking for matching ``'
sh: line 5981: ошибка синтаксиса: неожиданный конец файла
Rumata ★★
() автор топика
Ответ на: комментарий от Kid_Lester

из опыта знаю что лекции "О пользе манов" читают обычно те кто сам их не читает.

Rumata ★★
() автор топика
Ответ на: комментарий от Rumata

> Usage: unrar <command> -<switch 1> -<switch N> <archive> <files...>
<@listfiles...> <path_to_extract\>

Kid_Lester
()
Ответ на: комментарий от Rumata

> find /full/path/to/dir -type f

Ну добавь к find'y
-name \*.rar

Это был набросок и тебе следовало бы убрать в конце
| sh
и заменить на
| less
для контроля и только после этого исполнять

sdio ★★★★★
()
Ответ на: комментарий от sdio

> Да, GNU здорово упрощает жизнь

<интересуюсь> а где нет такой опции? бзд? солярис? …? </интересуюсь>

arsi ★★★★★
()
Ответ на: комментарий от sdio

printf там тоже нет, кстати. Получается printf я помнил, а execdir нет.

sdio ★★★★★
()
Ответ на: комментарий от sdio

> solaris, hp-ux, aix

благодарю. а о бзд вы не в курсе? если вдруг неожиданно появится дофига свободного времени (ага, мечтать не вредно ^^'), то хотелось бы серьёзно попробовать бзд и солярис, так что любую информацию и них я собираю ;)

arsi ★★★★★
()
Ответ на: комментарий от arsi

Нда. ларчик просто открывался.

Спасибо.

Тупо проглядел сие в man find.

Rumata ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.