Как сделать hexdump построчно с xxd?

Создать образец файла с помощью cat.

cat > /tmp/test.txt <<EOF
> X1
> X22
> X333
> X4444
> EOF

Чтобы проверить содержимое в файле образца.

cat  /tmp/test.txt
X1
X22
X333
X4444

Сделать hexdump с xxd.

xxd   /tmp/test.txt
0000000: 5831 0a58 3232 0a58 3333 330a 5834 3434  X1.X22.X333.X444
0000010: 340a  

Как сделать hexdump построчно с xxd таким образом, как показано ниже:

58 31 0a
58 32 32 0a
58 33 33 33 0a
58 34 34 34 34 0a

3 ответа

Решение

В конце концов я нашел hexdump инструмент в сочетании с sed лучшее решение:

hexdump -v -e '/1 "%02x "' /tmp/test.txt | sed 's/0a /0a\n/g'
$ xxd  -ps </tmp/test.txt|sed -e 's/\(..\)/\1 /g' -e 's/0a /0a\n/g'
58 31 0a
58 32 32 0a
58 33 33 33 0a
58 34 34 34 34 0a 

Пожалуйста, загрузите его и сохраните как /home/urls.csv.

образец файла для тестирования

Проверить с
hexdump -v -e '/ 1 "% 02x"' /home/urls.csv | sed 's / 0a / 0a \ n / g'

введите описание изображения здесь

Проверить с
xargs -I'{}' bash -c 'xxd <<< "${1}"' - '{}'

введите описание изображения здесь

Проверить с
xargs -I'{}' bash -c 'hd <<< "${1}"' - '{}' введите описание изображения здесь

Проверить с

xxd  -ps </home/urls.csv |sed -e 's/\(..\)/\1 /g' -e 's/0a /0a\n/g'

Ясно, что ответ Ипора Сирсера не достаточно надежен для длинных файлов.

введите описание изображения здесь

Другие вопросы по тегам