2

У меня есть папка, скажем, MAIN . Внутри этой папки есть много папок (скажем, f1,f2,f2...), в которых есть подпапки и файлы. Теперь мне нужно сжать эти папки (f1,f2,f3...) и их содержимое (которые могут быть подпапками и файлами) в отдельные архивы (f1.7z, f2.7z, f3.7z ...) и поместить их в MAIN папке.

Кроме того, мне нужно использовать эти настройки для всех почтовых индексов. .7z, LZMA2, Ultra, 1024 МБ (размер словаря), 273 (размер слова), Solid, сжатие общих файлов. Как я могу это сделать?

2 ответа2

3

Это должно работать достаточно хорошо:

find -maxdepth 1 -type d -exec p7zip {} \;

Вы должны быть в состоянии построить свою последнюю командную строку из этого легко.

  • -maxdepth 1
    Искать только в 1 каталоге
  • -type d
    Только поиск по каталогам
  • -exec p7zip {} \;
    Передайте каждый найденный элемент в p7zip - создавая архив папки .7z .
1

Таким образом можно выполнить базовое задание на сжатие. Тем не менее, вам нужно будет отредактировать команду по мере необходимости, чтобы удовлетворить ваши конкретные требования. Это можно сделать с помощью различных «переключателей»; синтаксис для этого доступен здесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .