소프트웨어의 테스트 데이터로 바이너리 파일을 생성 중입니다. 테스트 데이터는 동일한 바이트의 긴 배열로 구성되어야 합니다. 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
이것은 당신이 sed
GNU와 같은 것을 sed
이해 하고 있다고 가정합니다 \x00
.
또는 다음을 tr
사용할 수 있습니다.
$ n=50; head -c "$n" /dev/zero | tr '\00' 'a'
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa