Как сделать 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'
Ясно, что ответ Ипора Сирсера не достаточно надежен для длинных файлов.