2013-12-19 1 views
0

Я нахожусь в встроенной системе с busybox и хочу извлечь очень большой файл tar.gz. На данный момент я делаю это с командой tar.Функция обратного вызова для извлечения tar

Но это занимает несколько минут, и пользователь устройства не имеет доступа к консоли, поэтому я хочу дать отзыв о состоянии несжатия через другой канал. Лучшее было бы своего рода механизмом обратного вызова для каждого извлеченного файла. Что-то подобное существует? У меня нет ничего, кроме busybox и компилятора c/C++ для этой доступной формы. Сценарий, подобный tar, будет лучшим.

+1

Возможно, вы могли бы использовать 'popen' для чтения вывода команды tar и делать то, что вы будете с ним в коде C/C++. – hyde

ответ

1

Проверьте это:

tar -xzf test.tar.gz --checkpoint=100 --checkpoint-action='ttyout=|'

будет отслеживать текущий прогресс (извлечение смолы) с | символом, --checkpoint-action является своим родом обратного вызова и --checkpoint проверяет параметр управления зернистости времени.

+0

Хорошее решение, не знал об этих параметрах. К сожалению, похоже, что текущая версия tar busy busy не поддерживает этот параметр. Возможно, я смогу загрузить текущую версию tar. – Noir

+0

Не отвечает на вопрос, '--checkpoint' специфичен для GNU tar. – user60561

Смежные вопросы