FileA
2개의 바이너리 가 있고 FileC
유틸리티를 FileC = FileA + FileB
사용하면 다음과 같습니다.cat
을 얻으 FileA
려면 어떻게 빼야 하나요 ?FileC
FileB
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
-o
ls -l FileA | awk '{print $5; exit}'
stat -c %s FileA
크기가 결정되면 이를 사용하여 tail
파일의 두 번째 부분을 추출할 수 있습니다.
tail -c +$((sizeA + 1)) <FileC
파일을 동일한 청크로 분할하려면 이 split
명령을 사용하십시오.