Столкнулся с задачей на практике — в архиве 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 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Декабрь 2, 2018 г.
Lessc не имеет ключа 'слежения', чтобы выполнять перекомпиляцию при изменении less файлов проекта, как например это сделано у sass компилятора. Это весьма не удобно на этапе верстки шаблона из макета.
Для отслеживания я установил UNIX утилиту inotify. ...
Читать
Сентябрь 26, 2019 г.
На AWS файлы копятся в течении жизни проекта, а для разработки иногда удобнее иметь их локально. Как перетащить их из облака (и закинуть потом обратно), пользуясь консолью, расскажу в статье.
Направление операции копирования в данном случае не ...
Читать
Декабрь 3, 2019 г.
Задача возникла в контексте SEO, требовалось предотвратить индексацию тестовых сайтов поисковыми системами. На практике видно, что инструкции файла robots.txt ...
Читать
Июль 24, 2017 г.
Если вы решили сэкономить и получить бесплатный SSL сертификат, то в большинстве случаев сделать это не сложно. Благодаря проекту Lets' encrypt процесс получения и настойки автоматизирован и выполняется буквально 2-3 командами в консоли сервера.
...
Читать