[bash] 바이너리 파일의 처음 10 바이트 만 가져 오는 방법

파일의 헤더 (처음 10 바이트)를 가져와야하는 bash 스크립트를 작성하고 다른 섹션에서 처음 10 바이트를 제외한 모든 것을 가져옵니다. 이 파일은 바이너리 파일이며 처음 10 바이트 동안 ‘s’ \0\n‘s ‘ 가있을 가능성이 높습니다 . 대부분의 유틸리티가 ASCII 파일에서 작동하는 것 같습니다. 이 작업을 수행하는 좋은 방법은 무엇입니까?



답변

이미 언급했듯이 처음 10 바이트를 얻으려면 다음을 수행하십시오.

head -c 10

처음 10 바이트를 제외한 모든 바이트를 얻으려면 (적어도 GNU 사용 tail) :

tail -c+11


답변

head -c 10 여기서 옳은 일을합니다.


답변

dd명령을 사용하여 바이너리 파일에서 임의의 바이트 수를 복사 할 수 있습니다 .

dd if=infile of=outfile1 bs=10 count=1
dd if=infile of=outfile2 bs=10 skip=1


답변