[Решено]Архивирование файлов по отдельности. (7zip и Zip)
Модератор: Bizdelnick
-
kidoz
- Сообщения: 180
- ОС: Archlinux/Gnome
[Решено]Архивирование файлов по отдельности.
Имеется несколько тысяч файлов в директории, хотелось бы их по отдельности заархивировать 7zip или Zip, чтобы название сохранялись (пример: file1.bak -> file1.7z ). Как можно это реализовать?
irc.freenode.net #archlinux-ru (UTF-8)
-
Uncle_Theodore
- Сообщения: 3339
- ОС: Slackware 12.2, ArchLinux 64
Re: [Решено]Архивирование файлов по отдельности.
Перебери файлы циклом
for i in *; do zip $i; done
Поставь на место zip ту команду, которой архивировать будешь.
for i in *; do zip $i; done
Поставь на место zip ту команду, которой архивировать будешь.
-
kidoz
- Сообщения: 180
- ОС: Archlinux/Gnome
Re: [Решено]Архивирование файлов по отдельности.
Ввел:
Вот что пишет:
Код: Выделить всё
cd /home/kidoz/Test
for i in *; do 7z a $i; doneВот что пишет:
Код: Выделить всё
7-Zip 4.44 beta Copyright (c) 1999-2007 Igor Pavlov 2007-01-20
p7zip Version 4.44 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)
Error: Linux_Network_Administrator_Guide,_2nd_Ed.pdf is not supported archive
System error:
Операция не позволяетсяirc.freenode.net #archlinux-ru (UTF-8)
-
Uncle_Theodore
- Сообщения: 3339
- ОС: Slackware 12.2, ArchLinux 64
-
kidoz
- Сообщения: 180
- ОС: Archlinux/Gnome
Re: [Решено]Архивирование файлов по отдельности.
Uncle_Theodore писал(а): ↑24.05.2007 20:06А вот так
Код: Выделить всё
for i in *; do 7z a ${i%.*}.7z $i; done
?
Работает!
irc.freenode.net #archlinux-ru (UTF-8)
-
kidoz
- Сообщения: 180
- ОС: Archlinux/Gnome
Re: [Решено]Архивирование файлов по отдельности.
Ошибка при архивировании файлов, в именах которых есть пробелы. Он сокрашает имя до первого пробела и пытается это запаковать. Как можно это исправить?
irc.freenode.net #archlinux-ru (UTF-8)
-
stdds
- Сообщения: 886
- ОС: Mandriva 2008 / 2007 Free
Re: [Решено]Архивирование файлов по отдельности.
Насколько мне помниться есть какойто оператор для командной строки после которого все написаное воспринимаеться как одно целое, кажись два --, вот тольлко как такое прикрутить к такой команде
"Нету смысла искать смысл там где нет ни какого смысла это бесмыслица ее все равно не осмыслить!" Burhan Haldun (Бесмысленые высказывания)
-
kidoz
- Сообщения: 180
- ОС: Archlinux/Gnome
Re: [Решено]Архивирование файлов по отдельности.
for i in '*'; do 7z a ${i%.*}.7z $i; done - Теперь работает, но не совсем как надо. Жмет в один архив *.7z 
irc.freenode.net #archlinux-ru (UTF-8)
-
Uncle_Theodore
- Сообщения: 3339
- ОС: Slackware 12.2, ArchLinux 64
Re: [Решено]Архивирование файлов по отдельности.
stdds, то, что ты говоришь, ну совсем из другой оперы...
-
stdds
- Сообщения: 886
- ОС: Mandriva 2008 / 2007 Free
Re: [Решено]Архивирование файлов по отдельности.
да точно
надо просмотреть какие опции есть у zip и 7z, наверняка предусмотрено уже
"Нету смысла искать смысл там где нет ни какого смысла это бесмыслица ее все равно не осмыслить!" Burhan Haldun (Бесмысленые высказывания)
-
stdds
- Сообщения: 886
- ОС: Mandriva 2008 / 2007 Free
Re: [Решено]Архивирование файлов по отдельности.
а ведь довольно удобный способ для создания архивных копий.
Во только как же быть с пробелами в именах. RAR вовсе отказался такие файлы архивировать просто целый каталог в котром такие были пропустил.
Во только как же быть с пробелами в именах. RAR вовсе отказался такие файлы архивировать просто целый каталог в котром такие были пропустил.
"Нету смысла искать смысл там где нет ни какого смысла это бесмыслица ее все равно не осмыслить!" Burhan Haldun (Бесмысленые высказывания)
-
KiWi
- Бывший модератор
- Сообщения: 2521
- Статус: статус, статус, статус
Re: [Решено]Архивирование файлов по отдельности.
Код: Выделить всё
ls | while read i; do 7z a "${i%.*}.7z" "$i"; done-
stdds
- Сообщения: 886
- ОС: Mandriva 2008 / 2007 Free
Re: [Решено]Архивирование файлов по отдельности.
ТОЧНО!!!! про кавычки то и забыли!!!!!
только ваш пример не совсем коректно отрабатываеться. если в каталоге есть подкаталог то в подкаталоге все файлы архивируються в один архив с именем .rar ( я рар использовал)
Думаю что правильние будет
for i in *; do rar a "${i%.*}.rar" "$i"; done
тогда и файлы и каталоги архивируються нормально
"Нету смысла искать смысл там где нет ни какого смысла это бесмыслица ее все равно не осмыслить!" Burhan Haldun (Бесмысленые высказывания)