По умолчанию hexdump удаляет повторяющуюся строку и помещает один * в том месте, где удалена одна или несколько строк. Удалив первый столбец с позициями файла, вы потеряете единственное указание на то, сколько строк было удалено, поэтому невозможно восстановить исходный файл.
Предположительно, вам нужно число, которое однозначно представляет исходный файл, поэтому вам нужно будет начать с hexdump -v. Как показано в предыдущем ответе, можно дать hexdump другие аргументы, чтобы изменить формат вывода в запрошенный формат.
Однако, если у вас по какой-то причине есть только вывод hexdump -v, а не исходный файл, также можно было бы удалить первый столбец и белое пространство следующим образом:
cat filename.txt | cut -c9- | tr -dc 0-9a-f
Здесь cut -c9- удалит самые левые 8 символов каждой строки, выводя только 9-й символ и все после него. И tr -dc 0-9a-f будет содержать только символы в диапазоне 0-9 или a-f, поэтому все пробелы и новые строки удаляются.
gcc создает исполняемый файл с именем a.out по умолчанию. Выполните это вместо.
В качестве альтернативы создайте разумный именованный исполняемый файл:
gcc -o hello hello.c
И еще проще, используя стандартные правила, встроенные в make:
make hello
Вам нужно установить соответствующий пакет с заголовками (обычно libc6-dev) с
sudo apt-get install libc6-dev
И, конечно, установить build-essential с
sudo apt-get install build-essential
Затем скомпилировать ваш hello.c с командой:
gcc hello.c -o hello
и запустите его:
./hello
gcc создает исполняемый файл с именем a.out по умолчанию. Выполните это вместо.
В качестве альтернативы создайте разумный именованный исполняемый файл:
gcc -o hello hello.c
И еще проще, используя стандартные правила, встроенные в make:
make hello
Вам нужно установить соответствующий пакет с заголовками (обычно libc6-dev) с
sudo apt-get install libc6-dev
И, конечно, установить build-essential с
sudo apt-get install build-essential
Затем скомпилировать ваш hello.c с командой:
gcc hello.c -o hello
и запустите его:
./hello