XXD
Это команда xxd, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
XXD - сделать шестнадцатеричный дамп или наоборот.
СИНТАКСИС
XXD -помощь]
XXD [параметры] [infile [Outfile]]
XXD -r [эверт] [параметры] [инфиле [выход]]
ОПИСАНИЕ
XXD создает шестнадцатеричный дамп заданного файла или стандартного ввода. Он также может конвертировать шестнадцатеричный дамп
вернуться к исходной двоичной форме. Нравиться UUENCODE(1) и уудекод(1) это позволяет
передача двоичных данных в "безопасном для почты" представлении ASCII, но имеет преимущество
декодирования на стандартный вывод. Более того, его можно использовать для исправления бинарных файлов.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Если нет вводить дан, стандартный ввод читается. Если вводить указывается как `-' персонаж,
тогда ввод берется из стандартного ввода. Если нет Outfile дается (или-'персонаж в
его место), результаты отправляются на стандартный вывод.
Обратите внимание, что используется "ленивый" парсер, который не проверяет больше, чем первый вариант.
буква, если за параметром не следует параметр. Пробелы между одним вариантом
буква и ее параметр необязательны. Параметры для опций могут быть указаны в десятичном формате,
шестнадцатеричное или восьмеричное представление. Таким образом С8, -c 8, -c 010 и -столбцы 8 все эквивалентны.
-a | -автоскип
переключить автопропуск: одиночный символ "*" заменяет нулевые строки. По умолчанию выключено.
-b | -биты
Переключитесь на битовый (двоичный) дамп, а не на шестнадцатеричный. Эта опция пишет
октеты как восемь цифр «1» и «0» вместо обычного шестнадцатеричного дампа. Каждый
перед строкой стоит шестнадцатеричный номер строки, за которым следует ascii (или
ebcdic) представление. Ключи командной строки -r, -p, -i не работают с этим
Режим.
-c смещ_по_столбцам | -столбцы смещ_по_столбцам
форматсмещ_по_столбцам> октетов на строку. По умолчанию 16 (-i: 12, -ps: 30, -b: 6). Макс 256.
-E | -EBCDIC
Измените кодировку символов в правом столбце с ASCII на EBCDIC. Этот
не меняет шестнадцатеричное представление. Опция бессмысленна в
комбинации с -r, -p или -i.
-e Переключитесь на hexdump с прямым порядком байтов. Эта опция обрабатывает группы байтов как слова в
порядок байтов с прямым порядком байтов. Группировка по умолчанию из 4 байтов может быть изменена с помощью -g.
Эта опция применяется только к шестнадцатеричному дампу, оставляя представление ASCII (или EBCDIC)
без изменений. Ключи командной строки -r, -p, -i не работают в этом режиме.
-g байт | -groupize байт
отделить вывод каждогобайт> байтов (два шестнадцатеричных символа или восемь битовых цифр
каждый) пробелом. Указать -g 0 подавить группировку.Б> по умолчанию 2
в нормальном режиме, 4 в режиме с прямым порядком байтов и 1 в битовом режиме. Группировка не
применить к постскриптуму или включить стиль.
-h | -Помощь
распечатайте сводку доступных команд и выйдите. Дамп шестнадцатеричного кода не выполняется.
-i | -включают
вывод в C включает стиль файла. Написано полное определение статического массива
(названный в честь входного файла), если xxd не читает из stdin.
-l только | -len только
прекратить после написаниятолько> октеты.
-o смещение
Добавитьсмещение> к отображаемой позиции файла.
-p | -пс | -постскриптум | -простой
вывод в постскриптуме в стиле непрерывного шестнадцатеричного дампа. Также известен как простой стиль шестнадцатеричного дампа.
-r | -возвращаться
обратная операция: преобразовать (или исправить) шестнадцатеричный дамп в двоичный. Если не писать на
stdout, xxd записывает в выходной файл без его усечения. Используйте комбинацию
-r -p читать простые шестнадцатеричные дампы без информации о номере строки и без
конкретный макет столбца. Допускаются дополнительные пробелы и разрывы строк
в любом месте.
-стремиться смещение
При использовании после -r: вернуться с помощьюсмещение> добавлены позиции в файле, найденные в hexdump.
-s [+] [-] искать
начать сискать> байт абс. (или отн.) infile смещение. + указывает, что поиск
относительно текущей позиции файла stdin (бессмысленно, если чтение не из
стандартный ввод). - указывает, что поиск должен быть таким количеством символов с конца
вход (или в сочетании с +: перед текущей позицией в файле stdin). Без
-s параметр, xxd начинается с текущей позиции файла.
-u используйте заглавные шестнадцатеричные буквы. По умолчанию нижний регистр.
-v | -версия
показать строку версии.
Пещеры
XXD -r имеет некоторую встроенную магию при оценке информации о номере строки. Если на выходе
файл доступен для поиска, то номера строк в начале каждой строки шестнадцатеричного дампа могут быть вне
порядок, строки могут отсутствовать или перекрываться. В этих случаях xxd будет я ищу(2) к следующему
позиция. Если выходной файл недоступен для поиска, разрешены только пробелы, которые будут заполнены
на нулевые байты.
XXD -r никогда не генерирует ошибок синтаксического анализа. Мусор незаметно пропускается.
При редактировании шестнадцатеричных дампов учтите, что XXD -r пропускает все в строке ввода после
чтение достаточного количества столбцов шестнадцатеричных данных (см. параметр -c). Это также означает, что изменения
в печатаемые столбцы ascii (или ebcdic) всегда игнорируются. Возвращение равнины (или
postscript) в стиле hexdump с xxd -r -p не зависит от правильного количества столбцов.
Здесь интерпретируется все, что выглядит как пара шестнадцатеричных цифр.
Обратите внимание на разницу между
% XXD -i файл
и
% XXD -i < файл
XXD -s + искать может отличаться от XXD -s искать, так как я ищу(2) используется для «перемотки» ввода. А
'+' имеет значение, если источником ввода является stdin, а если позиция файла stdin не
в начале файла к моменту запуска xxd и его ввода. Следующий
примеры могут помочь прояснить (или еще больше запутать!) ...
Перед чтением перемотайте стандартный ввод; необходимо, потому что "кот" уже дочитал до конца
стандартный ввод.
% sh -c "Кот > обычная_копия; XXD -s 0 > hex_copy " < файл
Hexdump из позиции файла 0x480 (= 1024 + 128) и далее. Знак "+" означает "относительно
текущая позиция ", таким образом,` 128 'добавляет к 1k, где остановился dd.
% sh -c "дд of = plain_snippet bs = 1k count = 1; XXD -s +128 > hex_snippet " < файл
Hexdump из позиции файла 0x100 (= 1024-768) на.
% sh -c "дд of = plain_snippet bs = 1k count = 1; XXD -s + -768 > hex_snippet " < файл
Однако это редкая ситуация, и использование символа «+» редко требуется. Автор предпочитает
контролировать эффект xxd с помощью Трассирование(1) или ферма(1), всякий раз, когда используется -s.
ПРИМЕРЫ
Вывести все, кроме первых трех строк (шестнадцатеричный 0x30 байт) файл.
% XXD -s 0x30 файл
Выведите 3 строки (шестнадцатеричный 0x30 байт) с конца файл.
% XXD -s -0x30 файл
Выведите 120 байт в виде непрерывного шестнадцатеричного дампа с 20 октетами в строке.
% XXD -l 120 -пс -c 20 ххд.1
2e54482058584420312022417567757374203139
39362220224d616e75616c207061676520666f72
20787864220a2e5c220a2e5c222032317374204d
617920313939360a2e5c22204d616e2070616765
20617574686f723a0a2e5c2220202020546f6e79
204e7567656e74203c746f6e79407363746e7567
Hexdump первые 120 байтов этой справочной страницы по 12 октетов в строке.
% XXD -l 120 -c 12 ххд.1
0000000: 2e54 4820 5858 4420 3120 2241 .TH XXD 1 "A
000000c: 7567 7573 7420 3139 3936 2220 августа 1996 г. "
0000018: 224d 616e 7561 6c20 7061 6765 "Страница руководства
0000024: 2066 6f72 2078 7864 220a 2e5c для xxd ".. \
0000030: 220a 2e5c 2220 3231 7374 204d ".. \" 21st M
000003c: 6179 2031 3939 360a 2e5c 2220 ay 1996 .. \ "
0000048: 4d61 6e20 7061 6765 2061 7574 Ручная страница aut
0000054: 686f 723a 0a2e 5c22 2020 2020 hor: .. \ "
0000060: 546f 6e79 204e 7567 656e 7420 Тони Ньюджент
000006c: 3c74 6f6e 7940 7363 746e 7567
Отображать только дату из файла xxd.1
% XXD -s 0x36 -l 13 -c 13 ххд.1
0000036: 3231 7374 204d 6179 2031 3939 36 21 мая 1996 г.
Копировать входной_файл в выходной файл и добавьте 100 байтов значения 0x00.
% XXD входной_файл | XXD -r -s 100 > выходной файл
Патчить дату в файле xxd.1
% эхо "0000037: 3574 68 " | XXD -r - ххд.1
% XXD -s 0x36 -l 13 -c 13 ххд.1
0000036: 3235 7468 204d 6179 2031 3939 36 25 мая 1996 г.
Создайте файл размером 65537 байт со всеми байтами 0x00, кроме последнего, который является 'A' (шестнадцатеричный
0х41).
% эхо "010000: 41 " | XXD -r > файл
Hexdump этот файл с помощью автоскипа.
% XXD -a -c 12 файл
0000000: 0000 0000 0000 0000 0000 0000 ............
*
000fffc: 0000 0000 40 .... А
Создайте 1-байтовый файл, содержащий один символ «A». Число после '-r -s' прибавляется к
номера белья, найденные в файле; фактически, начальные байты подавляются.
% эхо "010000: 41 " | XXD -r -s -0x10000 > файл
Используйте xxd в качестве фильтра в редакторе, таком как напор(1) для шестнадцатеричного дампа области, отмеченной между `a '
и `z '.
: 'a,' z! xxd
Используйте xxd в качестве фильтра в редакторе, таком как напор(1) для восстановления двоичного шестнадцатеричного дампа с пометкой
между `a 'и` z'.
: 'a,' z! xxd -r
Используйте xxd в качестве фильтра в редакторе, таком как напор(1) восстановить одну строку шестнадцатеричного дампа.
Наведите курсор на строку и введите:
!! xxd -r
Чтение отдельных символов из последовательной линии
% XXD С1 < / dev / term / b &
% стти < / dev / term / b -эхо -опост -исиг -иконон мин 1
% эхо -n Foo > / dev / term / b
ВЕРНУТЬ ЦЕННОСТИ:
Возвращаются следующие значения ошибок:
0 ошибок не обнаружено.
-1 операция не поддерживается ( XXD -r -i все равно невозможно).
1 ошибка при разборе опций.
2 проблемы с входным файлом.
3 проблемы с выходным файлом.
4,5 желаемая позиция поиска недоступна.
Используйте xxd в Интернете с помощью сервисов onworks.net