¿Cómo puedo crear un archivo binario con los valores binarios consiguientes en bash?crear archivo binario en bash
como:
$ hexdump testfile
0000000 0100 0302 0504 0706 0908 0b0a 0d0c 0f0e
0000010 1110 1312 1514 1716 1918 1b1a 1d1c 1f1e
0000020 2120 2322 2524 2726 2928 2b2a 2d2c 2f2e
0000030 ....
En C, que hago:
fd = open("testfile", O_RDWR | O_CREAT);
for (i=0; i< CONTENT_SIZE; i++)
{
testBufOut[i] = i;
}
num_bytes_written = write(fd, testBufOut, CONTENT_SIZE);
close (fd);
esto es lo que quería:
#!/bin/bash
i=0
while [ $i -lt 256 ]; do
h=$(printf "%.2X\n" $i)
echo "$h"| xxd -r -p
i=$((i-1))
done
Incluso si probablemente simplificó su ejemplo para hacerlo más corto: Este código no verifica los errores Y NO UTILIZA write (2) porque está perfectamente bien no solo para fallar, sino también para hacer escrituras parciales. Use fwrite (3) o similar en su lugar –