Столкнулся с задачей на практике — в архиве tar.gz лежит еще один архив, в котором еще один и так далее… Как с кощеевым яйцом, только цепочка в матрешке куда более длинная.
Написал небольшой скрипт для bash, по распаковке такого сюрприза.
Логика работы такова — внешний цикл — выполняется до тех пор, пока в контрольной папке есть файлы с раcширением *.tar.gz. А внутренний цикл перебирает все такие файлы, распаковывает их и удаляет только что распакованный архив.
Контрольная папка у меня — ./unpack, туда помещаем «матрешку» и запускаем наш скрипт.
|
|
while ls ./unpack/*.tar.gz >/dev/null 2>&1; do ls ./unpack/*.tar.gz | while read f; do echo "process $f" tar -xzf "$f" -C "./unpack" rm "$f" done done |
Скрипт будет сообщать имена архивов, которые он обрабатывает в текущий момент.
UNIX
Данная запись опубликована в 18.09.2025 01:37 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Февраль 3, 2018 г.
Небольшая шпаргалка по обновлению ПО на UNIX сервере из консоли.
Начать лучше всего с перехода на права SuperUser, если вы не зашли на сервер как root пользователь.
[crayon-6902508f184ed757215310/]
Обновим информацию об имеющихся обновлениях пакетов ...
Читать
Февраль 20, 2018 г.
Если вы укажите полный путь архивируемой папки в UNIX, то файлы будут размещены в архиве вместе полным путем. Не всегда это удобно и правильно, зависит от выполняемой задачи.
Как отсечь абсолютные пути, оставив только относительные?
Для этого ...
Читать
Июнь 22, 2021 г.
В Юникс системах можно перенаправить вывод выполняемой команды в лог-файл, но иногда хотелось бы видеть результаты работы одновременно и в консоли.
Вот пример перенаправления вывода в файл:
[crayon-6902508f18ccb116556455/]
При этом в консоли ...
Читать
Январь 31, 2023 г.
... и выполнить те или иные операции в зависимости от результата проверки, используя командный процессор, например bash.
Примерно так формулируется очередная небольшая задача, возникающая в ежедневном потоке рутины автоматизации работы.
Существует ...
Читать