Как сжать все файлы в текущем каталоге, поместив каждый файл в отдельный архив.

  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /var/MyWWW/linux/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /var/MyWWW/linux/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /var/MyWWW/linux/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /var/MyWWW/linux/includes/unicode.inc on line 349.
  • warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /var/MyWWW/linux/includes/unicode.inc on line 349.

Необходимость в создании отдельного архива для каждого файла у меня возникла, когда мне принесли архив с кучей электронных книг. Электронная "читалка" извлекать книги из большого архива не умеет, но понимает формат fb2.zip. Пришлось обратиться к bash-у.

Итак, пишем простой скрипт:
#!/bin/bash

echo

for file in *.fb2
do
zip -m $file.zip $file
# Сжать все fb2-файлы в $PWD (текущем каталоге) в отдельный zip-архив.
done

echo

exit 0

Затем помещаем его в папку, файлы которой надо сжать, и запускаем.
Скрипт создаст zip-архив для каждого fb2-файла и удалит оригинальный несжатый файл.

А смысл?

Чтобы больше книг влезло.

Чтобы больше книг влезло.