如何使用 xxd 逐行制作 hexdump?

How to make a hexdump line by line with xxd?

使用 cat 创建示例文件。

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

检查示例文件中的内容。

cat  /tmp/test.txt
X1
X22
X333
X4444

使用 xxd 进行 hexdump。

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

如何使用 xxd 逐行生成 hexdump,如下所示:

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

毕竟我发现 hexdump 工具与 sed 相结合的最佳解决方案:

hexdump -v -e '/1 "%02x "' /tmp/test.txt | sed 's/0a /0a\n/g'
$ xxd  -ps </tmp/test.txt|sed -e 's/\(..\)/ /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.

sample file to test

测试
hexdump -v -e '/1 "%02x "' /home/urls.csv | sed 's/0a /0a\n/g'

测试
xargs -I'{}' bash -c 'xxd <<< ""' -- '{}' < /home/urls.csv

测试
xargs -I'{}' bash -c 'hd <<< ""' -- '{}' < /home/urls.csv

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

很明显,Ipor Sircer 的回答是对长文件不够健壮。