私の現在のワークステーションには、としかインストールされておらずhexdump
、などの他のパッケージをインストールすることはできませんxxd
。そのため、このxxdコマンドを16進ダンプに相当するものに翻訳する必要があります。
echo "my home is very good 002_" | xxd -p -c 256
#Output: 6d7920686f6d65206973207665727920676f6f64203030325f0a
echo "my home is very good 002_" | hexdump -e '256 1 "%x"'
#Output: 6d7920686f6d65206973207665727920676f6f64203030325fa
ご覧のとおり、出力の最後に余分な「0」があり、これは私の解決策が機能していないことを意味します。
手伝ってくれませんか?
答え1
hexdump のフォーマット指定子として使用してみてください%02x
。 指示しない限り、1 バイトにゼロのプレフィックスは付きません。 残念ながら、削除しない限り、行が埋められ始めます。
例えば:
echo "" | hexdump -e '256 1 "%02x"'
#Output: 0a[followed by a significant amount of whitespace]
動作を正確に一致させるには、hexdump を以下と組み合わせますfold
。
echo "" | hexdump -e '"%02x"' | fold -b -w512