LinuxForum.Fans
Тема

Архиватор

Автор: u505 6 сообщений 3251 просмотров
#47756

Имеется n-ное количество файлов зажатое в m-архивов в формате *.rar
Нужно распаковать файлы из всех архивов в одну папку указывая по ходу распакуовки путь к последующему архиву
Вопрос: чем можно воспользоватся?

Setup: Fedora13.i686, LXDE

#47762
ST написал:
чем можно воспользоватся?

shell

ST написал:
Нужно распаковать файлы из всех архивов в одну папку указывая по ходу распакуовки путь к последующему архиву

тут не очень понял. можно поподробнее?
например архивы
1.rar
в нём
11.txt
12.txt
и
2.rar
в нём
21.txt
22.txt
что и куда?
а вообще что-то вроде

for f in *.rar; do unrar x $f; done

как-то так. или например

find . -iname "*.rar" -exec unrar x {} \;

а... ВСЕ файлы в одну папку? понял.
укажите в скрипте или в find ПОЛНЫЙ путь, тогда и скрипт и find выдаст полные пути к найденным файлам, а вот перед командой распаковке поставьте cd dest_dir, тогда все файлы распакуются в этот dest_dir, команда распаковки будет выглядеть для каждого архива так:
cd dest_dir && unrar x /home/vasya/tmp

но с другой стороны, они и так все свалятся в один каталог? может надо как раз кады архив в свой? тоже можно: перед тем как распаковать /home/vasya/tmp/a1.rar, создайте каталог, с именем как у архива
cd dest_dir && mkdir `basename $f` && cd $f && unrar x $f
тогда в каталоге dest_dir будет m подкаталогов, которые названы как ваши архивы, а в них файлы.

Hint
тут удобнее делать скриптом.

ЗЗЫЖ
ошибся немного...

вот, дарю:

text

#!/bin/sh

for FILE_NAME in *.[Rr][Aa][Rr] do echo -n "unpack $FILE_NAME..." DIR_NAME="$FILE_NAME.dir" mkdir $DIR_NAME || exit $? cd $DIR_NAME || exit $? unrar x ../$FILE_NAME || exit $? cd .. || exit $? echo " OK!" done

#47767
drBatty написал:
что и куда?

Все в одну папку
В KDE или GNOME это бы легко решилось

Просто если распаковывать под Окнами или Мак, то архиватор запрашивает путь к последующему архиву

#47773
ST написал:
Просто если распаковывать под Окнами или Мак, то архиватор запрашивает путь к последующему архиву

unrar ничего не запрашивает. ЕМНИП rar.exe тоже. вот только bat файлы я писать не умею. это вам на другой форум :P

#47851
ST написал:
Имеется n-ное количество файлов зажатое в m-архивов в формате *.rar
Нужно распаковать файлы из всех архивов в одну папку указывая по ходу распакуовки путь к последующему архиву
Вопрос: чем можно воспользоватся?

Setup: Fedora13.i686, LXDE

Xarchiver.

#47943

durc написал:
Xarchiver.
Не получается у него
Все гораздо проще решилось smile
Через mc
Войдите или зарегистрируйтесь, чтобы ответить.