Làm cách nào để tạo tệp nhị phân có các giá trị nhị phân hậu quả trong bash?tạo tệp nhị phân trong bash
như:
$ 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 ....
Trong C, tôi làm:
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);
đây là những gì tôi muốn:
#!/bin/bash
i=0
while [ $i -lt 256 ]; do
h=$(printf "%.2X\n" $i)
echo "$h"| xxd -r -p
i=$((i-1))
done
Thậm chí nếu bạn có thể đơn giản hóa ví dụ của bạn để làm cho nó ngắn hơn: Mã này không kiểm tra lỗi VÀ KHÔNG SỬ DỤNG viết (2) bởi vì nó hoàn toàn ok không chỉ thất bại, mà còn để chỉ viết một phần. Sử dụng fwrite (3) hoặc tương tự thay vì –