마이너스 바이너리

마이너스 바이너리

FileA2개의 바이너리 가 있고 FileC

유틸리티를 FileC = FileA + FileB사용하면 다음과 같습니다.cat

을 얻으 FileA 려면 어떻게 빼야 하나요 ?FileCFileB

PS: 저는 Ubuntu Oneiric을 사용하고 있습니다.

답변1

stat플랫폼에 해당 크기가 있다고 가정하면 FileA다음을 수행할 수 있습니다.

dd if=./FileC of=./FileB bs=1 skip=$(stat -c %s ./FileA)

모든 유형의 파일에서 작동해야 합니다.

답변2

어디를 잘라야하는지 알아야합니다. 바이너리 파일의 경우 이는 일반적으로 FileA또는 FileB.

FileA로 사이즈를 확인하실 수 있습니다 ls -l. 이식 가능한 스크립트를 작성해야 하는 경우 extractsize를 사용할 수 있습니다(또는 ls -lgo FileA | awk '{print $3; exit}'및 옵션이 없는 POSIX 규격이 아닌 버전의 경우 사용). 임베디드 Linux가 아닌 경우 크기를 얻는 더 쉬운 방법은 .ls-g-ols -l FileA | awk '{print $5; exit}'stat -c %s FileA

크기가 결정되면 이를 사용하여 tail파일의 두 번째 부분을 추출할 수 있습니다.

tail -c +$((sizeA + 1)) <FileC

파일을 동일한 청크로 분할하려면 이 split명령을 사용하십시오.

관련 정보