2013-12-19 1 views
0

매우 큰 tar.gz 파일을 추출하려는 busybox가있는 임베디드 시스템에 있습니다. 지금 나는 tar 명령으로 이것을하고있다.tar 추출을위한 콜백 함수

하지만 몇 분이 걸리며 장치 사용자는 콘솔에 액세스 할 수 없으므로 다른 채널을 통해 압축 해제 상태에 대한 의견을 보내고 싶습니다. 가장 좋은 방법은 추출 된 각 파일에 대한 일종의 콜백 메커니즘입니다. 그와 같은 것이 존재합니까? 나는 busybox와 c/C++ 컴파일러를 사용할 수있다. 타르 (tar)와 같은 스크립팅 도구가 가장 좋습니다.

+1

아마도'popen'을 사용하여 tar 명령의 결과를 읽고 C/C++ 코드에서 수행 할 작업을 수행 할 수 있습니다. – hyde

답변

1

체크 이것을 : 그것은 | 심볼과 현재 진행 TAR (추출)을 추적한다

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

, --checkpoint-action 다소 콜백되고 --checkpoint 시간 세분성 제어 파라미터를 검사한다.

+0

좋은 해결책은 그 매개 변수에 대해 알지 못했습니다. 불행히도 현재 tar 버전의 busybox는이 매개 변수를 지원하지 않습니다. 어쩌면 현재 버전의 tar을 이식 할 수 있습니다. – Noir

+0

실제로''--checkpoint'는 GNU tar에만 적용됩니다. – user60561