Как мне создать файл с заданной структурой?
Как мне создать файл, который имеет X байтов 0, Y байтов числа 7 (то есть 0x07 в шестнадцатеричном формате, 00000111 в двоичном формате), Z случайных байтов и T байтов числа 25(0x19 в шестнадцатеричном, 00011001 в двоичном). Наконец, этот файл должен иметь размер X+Y+Z+T байт.
1 ответ
Решение
Установите "ghex" из центра программного обеспечения.
Перейти к терминалу и запустить touch hexfile
,
Откройте ghex, затем откройте "hexfile".
Нажмите insert, затем введите нужные байты.
Сохранить.
Вы можете сохранить что-то подобное в файле, изменить переменные (как указано) и сделать их исполняемыми (chmod +x filename
), затем запустите ./filename
,
#!/bin/bash
#(C) 2011 Erik B. Andersen This script is licensed under the latest non-draft
#version of the AGPL as published by the Free Software Foundation (currently
#at http://www.gnu.org/licenses/) .
# Set the following four variables.
X=
Y=
Z=
T=
#######Don't need to change anything past here.
y=0
t=0
head -c $X /dev/zero >> structurefile
while [ $y -lt $Y ]; do echo -n -e "\x07"; y=$(($y+1)); done >> structurefile
head -c $Z /dev/urandom >> structurefile
while [ $t -lt $T ]; do echo -n -e "\x19"; t=$(($t+1)); done >> structurefile