동일한 바이트를 많이 생성합니다.

동일한 바이트를 많이 생성합니다.

소프트웨어의 테스트 데이터로 바이너리 파일을 생성 중입니다. 테스트 데이터는 동일한 바이트의 긴 배열로 구성되어야 합니다. 0바이트이면 /dev/zero를 사용합니다. 거기에서 0을 다른 바이트로 변환하는 명령이 있습니까, 아니면 비슷한 작업을 수행하는 명령이 있습니까?

나는 이 bash 스크립트를 생각해 냈지만 솔루션이 이상적이라고 느껴지지 않습니다. 고정된 수의 바이트만 생성할 수 있습니다. 더 간단한 스크립트를 사용하여 이를 수행할 수 있는 방법이 있어야 합니다.

for i in $(seq 5); do
    echo $'\x10'
done

답변1

원하는 캐릭터를 /dev/zero생성 하려면 :n

head -c "$n" /dev/zero | sed 's/\x00/a/g'

a원하는 문자로 바꿔야 합니다 .

예를 들어:

$ n=50; head -c "$n" /dev/zero | sed 's/\x00/a/g'
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

이것은 당신이 sedGNU와 같은 것을 sed이해 하고 있다고 가정합니다 \x00.

또는 다음을 tr사용할 수 있습니다.

$ n=50; head -c "$n" /dev/zero | tr '\00' 'a'
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

관련 정보