Как выполнять пакетное сжатие файлов на Mac (автоматизация процесса с помощью сценария Bash)
Если вам часто нужно заархивировать большое количество файлов на вашем Mac, вы, возможно, обнаружили, что этот процесс занимает много времени и повторяется. Хотя утилиту архивирования, встроенную в Mac OS, можно использовать для пакетного архивирования файлов, это все же может быть ручным процессом. Однако, обладая небольшими знаниями в области написания сценариев, вы можете автоматизировать процесс пакетного архивирования файлов с помощью сценария Bash.
В этой статье мы проведем вас через процесс создания сценария Bash, который позволит вам сжимать файлы в пакетах с любым выбранным вами числом на вашем Mac. Независимо от того, работаете ли вы с сотнями или тысячами файлов, этот скрипт поможет вам сэкономить время и избежать монотонности архивирования файлов вручную. К концу этого руководства у вас будет полнофункциональный сценарий Bash, который вы сможете использовать для пакетного zip-файлов в любом необходимом вам количестве с помощью всего нескольких простых команд.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Например, допустим, у вас есть 100 файлов в определенной папке. Вы можете использовать этот скрипт, чтобы сжать файлы в группы по 10, в результате чего получится 10 сжатых файлов. Кроме того, вы можете сжать файлы в группы по 5, в результате чего получится 20 сжатых файлов и так далее.
#!/bin/bash # Установить путь к папке, содержащей файлы для сжатия DIR_PATH=»/path/to/folder» # Установить префикс имени выходных архивных файлов ARCHIVE_PREFIX=»archive» # Установить максимальное количество файлов в пакете MAX_FILES=20 # Сменить каталог на указанный путь cd «$DIR_PATH» # Получить список всех файлов в каталоге files=( * ) # Подсчитать количество пакетов файлов num_batches=$(( (${ #файлы[@]} + $MAX_FILES — 1) / $MAX_FILES )) # Перебираем все пакеты файлов for (( i=0; i<$num_batches; i++ )); do # Установить начальный и конечный индексы пакета start=$(( $i * $MAX_FILES )) end=$(( ($i + 1) * $MAX_FILES - 1 )) # Проверить, превышает ли конечный индекс число файлов, если (( $end >= ${#files[@]} )); затем конец=$(( ${#файлы[@]} — 1 )) fi # Создать сжатый файл архива для пакета файлов archive_name=»${ARCHIVE_PREFIX}_${i}.tar.gz» tar -cvzf «$archive_name» «${files[@]:$start:$MAX_FILES}» готово
Загрузите этот файл сценария bash.
Что делает этот скрипт
Приведенный выше сценарий представляет собой сценарий bash, который сжимает несколько файлов в пакетные архивы.
Сначала он устанавливает путь к папке (DIR_PATH=»/path/to/folder»), содержащей файлы для сжатия, префикс имени файлов выходного архива (ARCHIVE_PREFIX=»archive») и максимальное количество файлов в одном файле. пакет (MAX_FILES=20).
Затем он изменяет текущий каталог на указанный путь и получает список всех файлов в этом каталоге. Затем сценарий подсчитывает количество пакетов файлов и перебирает каждый пакет.
Для каждого пакета он устанавливает начальный и конечный индексы пакета, проверяет, превышает ли конечный индекс количество файлов, а затем создает сжатый архивный файл для пакета файлов с помощью команды «tar».
Полученные сжатые архивы именуются с использованием указанного префикса и последовательно нумеруются.
Как использовать скрипт Шаг 1.
Чтобы заархивировать zip-файлы на вашем Mac, сначала создайте новую папку и поместите в нее все файлы, которые вы хотите сжать.
Например, вы можете создать папку с именем «zipme» на рабочем столе и поместить все необходимые файлы в эту папку. Сделав это, вы можете найти путь к папке, перейдя к ней в Finder, а затем щелкнув правой кнопкой мыши и выбрав «Получить информацию».
Кроме того, вы можете использовать команду pwd в терминале, чтобы отобразить текущий каталог, а затем добавить имя папки в конец пути. А в нашем случае путь к zipme/ такой: /Users/hongkiat/Desktop/zipme, поэтому сделаем следующее:
редактировать:
DIR_PATH=»/путь/к/папке»
стать:
DIR_PATH=»/Users/hongkiat/Desktop/zipme»
Шаг 2.
Скопируйте и вставьте приведенный выше код в новый файл на вашем Mac с помощью текстового редактора, такого как TextEdit или Atom. Сохраните файл с .ш расширение (например, batch_zip.sh) и сделайте его исполняемым, выполнив следующую команду в Терминале:
chmod +x /path/to/batch_zip.sh Шаг 3.
Затем, чтобы запустить скрипт, откройте Терминал и перейдите в каталог, в котором сохранен скрипт. Введите следующую команду и нажмите Enter:
./batch_zip.sh
Примечание. Если запуск ./batch_zip.sh не работает, попробуйте вместо этого использовать sudo ./batch_zip.sh. Имейте в виду, что «sudo» требует авторизации путем ввода пароля для текущего имени пользователя Mac.
После выполнения все файлы в указанной папке будут сжаты в пакеты до 20 файлов в каждом, и для каждого пакета будет создан файл архива с указанным префиксом и порядковым номером.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)