Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   [решено] Архивация каждого файла в отдельный архив (http://forum.oszone.net/showthread.php?t=88595)

vadimiron 14-08-2007 17:41 627523

Архивация каждого файла в отдельный архив
 
Мне нужно архивировать каждый файл в папке в отдельный архив.
Я смотрел man tar, но там такой опции вроде нету. Значит надо писать свой скрипт?, который проходит по каждому файла в заданной папке и архивирует его.
Есть уже готовый скрипт у когонибудь??

Знаю-вопрос ламерский, но мне самому лень сейчас разбираться :)

dmitryst 14-08-2007 17:52 627525

vadimiron, нету, но на перле можно быстро накалякать

1. берем список файлов из директории в массив
2. foreach - ем проходим по массиву, применяя exec("command_line")

Если не срочно, могу написать до выходных

must die 14-08-2007 18:02 627529

vadimiron,

Ну как-нибудь так:
find . -name \*.* -exec gzip -9 {} \;

dmitryst 14-08-2007 18:16 627538

must die, если это работает, я готов "снять шляпу" :)

vadimiron 14-08-2007 18:20 627542

must die,
A kak будет выглядить скрипт, которому можно передавать папку в качестве параметра?
Нужно какоето универсальное решение.

Насколько я понимаю вместо "." путь к папке писать??

dmitryst 14-08-2007 18:27 627552

Цитата:

Цитата vadimiron
Насколько я понимаю вместо "." путь к папке писать??

- полный путь

vadimiron 14-08-2007 18:33 627554

Ok, сенкс поюзаю - попробую

must die 14-08-2007 19:11 627571

vadimiron,


скрипт
Код:


#!/bin/bash
find $1 -name \*.* -exec gzip -9 {} \;

Работает
./script_name /home/user/dir_name

ruslandh 14-08-2007 19:38 627583

must die,
А скрипт будет работать, eсли в имени файла будут пробелы, а точки быть вообще не будет ? :)

vadimiron 14-08-2007 23:45 627690

Цитата:

Цитата ruslandh
а точки быть вообще не будет >>>

Ну с этим я справлюсь - можно же просто звёздочку поставить, тогда любой файл попадает под правило

must die 15-08-2007 14:24 627998

Цитата:

Цитата ruslandh
А скрипт будет работать, eсли в имени файла будут пробелы, а точки быть вообще не будет ?

Будет :)
find $1 -name \* -exec gzip -9 {} \;


Время: 21:49.

Время: 21:49.
© OSzone.net 2001-