Столкнулся с задачей на практике — в архиве 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 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Ноябрь 23, 2015 г.
Столкнулся недавно с такой проблемой - не смог файловым менеджером даже просто открыть папку с временными файлами на своём веб-сервере под UNIX. Размер, папки, т.е. сам список файлов оказался объемом в 85 мегабайт. Сколько там файлов, я даже не представляю. ...
Читать
Март 17, 2024 г.
В Unix для замены текстового значения в группе файлов можно использовать утилиту rpl.
Установите rpl:
[crayon-6a0a5b0259476209023726/]
Для замены тестовой строки выполните команду в файле FILENAME:
[crayon-6a0a5b025947c923372511/]
Подстановка ...
Читать
Декабрь 2, 2018 г.
Lessc не имеет ключа 'слежения', чтобы выполнять перекомпиляцию при изменении less файлов проекта, как например это сделано у sass компилятора. Это весьма не удобно на этапе верстки шаблона из макета.
Для отслеживания я установил UNIX утилиту inotify. ...
Читать
Февраль 13, 2018 г.
Ещё одна шпаргалка по администрированию UNIX серверов. На этот раз рассмотрим несколько полезных команд для создания бекапа базы данных из консоли.
Нам понадобится команда mysqldump, которая позволяет создавать sql скрипт базы или её части.
Создание ...
Читать