Поместить в архив каждый файл

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Grih65kop
Сообщения: 145

Поместить в архив каждый файл

Сообщение Grih65kop »

В дирриктории есть файлы, каждый из этих файлов нужно поместить в архив, но каждый файл отдельно.

Т.е.:
1.txt
2.txt
3.html

Получить:

1.rar тут файл 1.txt
2.rar тут файл 2.txt
3.rar тут файл 3.html

работаю с rar. Как более грамотно организовать?
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5457
ОС: Gentoo

Re: Поместить в архив каждый файл

Сообщение /dev/random »

В случае tar.bz2 было бы:

Код: Выделить всё

ls | xargs -i bash -c 'tar cjf "${1/.*}.tar.bz2" "$1"' bash {}

Командную строку рара не помню. Измените соответствующим образом то, что в одинарных кавычках.
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Поместить в архив каждый файл

Сообщение t.t »

Grih65kop писал(а):
14.03.2010 23:39
работаю с rar.
В этом случае rar как раз точно не нужен. В случае многих файлов -- ещё можно понять: некоторые виндоюзеры впадают в ступор, увидев "архив внутри архива", а именно так winrar отображает .tar.{gz,bz2}; хотя я в этих случаях предпочитаю пользоваться 7zip. А здесь рекомендую

Shell

bzip2 *
Даже winrar такие архивы отобразит привычным образом, а с их "расширениями" он проассоциирован по умолчанию.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Поместить в архив каждый файл

Сообщение drBatty »

t.t
полностью согласен, только хотел добавить, что связкой bzip | tar можно получить *.bz2.tar архив - это полный аналог (ну почти полный) обычного, НЕ непрерывного архива рар (tar.bz2 это непрерывный архив).
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Поместить в архив каждый файл

Сообщение sash-kan »

drBatty писал(а):
15.03.2010 10:21
bzip | tar
а каков сакральный смысл этой конструкции?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Поместить в архив каждый файл

Сообщение drBatty »

sash-kan писал(а):
15.03.2010 14:50
bzip | tar

а каков сакральный смысл этой конструкции?



drBatty писал(а):
15.03.2010 10:21
это полный аналог (ну почти полный) обычного, НЕ непрерывного архива рар (tar.bz2 это непрерывный архив).

иногда надо. например для каталогов вроде мануалов - там много файлов, и очень долго распаковывать пол-архива если нужен один файл.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Поместить в архив каждый файл

Сообщение t.t »

sash-kan, думаю, тут имелось ввиду не bzip2 -c * | tar cf archive.bz2.tar, а что-то вроде for i in *; do bzip2 -c $i | tar Af archive.bz2.tar; done
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали: