Показать полную графическую версию : [решено] Архивация каждого файла в отдельный архив
vadimiron
14-08-2007, 17:41
Мне нужно архивировать каждый файл в папке в отдельный архив.
Я смотрел man tar, но там такой опции вроде нету. Значит надо писать свой скрипт?, который проходит по каждому файла в заданной папке и архивирует его.
Есть уже готовый скрипт у когонибудь??
Знаю-вопрос ламерский, но мне самому лень сейчас разбираться :)
dmitryst
14-08-2007, 17:52
vadimiron, нету, но на перле можно быстро накалякать
1. берем список файлов из директории в массив
2. foreach - ем проходим по массиву, применяя exec("command_line")
Если не срочно, могу написать до выходных
must die
14-08-2007, 18:02
vadimiron,
Ну как-нибудь так:
find . -name \*.* -exec gzip -9 {} \;
dmitryst
14-08-2007, 18:16
must die, если это работает, я готов "снять шляпу" :)
vadimiron
14-08-2007, 18:20
must die,
A kak будет выглядить скрипт, которому можно передавать папку в качестве параметра?
Нужно какоето универсальное решение.
Насколько я понимаю вместо "." путь к папке писать??
dmitryst
14-08-2007, 18:27
Насколько я понимаю вместо "." путь к папке писать?? - полный путь
vadimiron
14-08-2007, 18:33
Ok, сенкс поюзаю - попробую
must die
14-08-2007, 19:11
vadimiron,
скрипт
#!/bin/bash
find $1 -name \*.* -exec gzip -9 {} \;
Работает
./script_name /home/user/dir_name
ruslandh
14-08-2007, 19:38
must die,
А скрипт будет работать, eсли в имени файла будут пробелы, а точки быть вообще не будет ? :)
vadimiron
14-08-2007, 23:45
а точки быть вообще не будет >>>
Ну с этим я справлюсь - можно же просто звёздочку поставить, тогда любой файл попадает под правило
must die
15-08-2007, 14:24
А скрипт будет работать, eсли в имени файла будут пробелы, а точки быть вообще не будет ?
Будет :)
find $1 -name \* -exec gzip -9 {} \;
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.