Verwenden von Hexdump zum Replizieren des xxd-Befehls

Verwenden von Hexdump zum Replizieren des xxd-Befehls

Auf meiner aktuellen Workstation habe ich nur hexdumpund darf keine anderen Pakete wie installieren xxd. Daher muss ich diesen xxd-Befehl in ein Hexdump-Äquivalent übersetzen

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

Wie Sie sehen, steht am Ende der Ausgabe eine zusätzliche „0“, was bedeutet, dass meine Lösung nicht funktioniert.

Kannst du mir bitte helfen?

Antwort1

Versuchen Sie, es %02xals Formatbezeichner für Hexdump zu verwenden. Ein einzelnes Byte erhält kein Null-Präfix, wenn Sie es nicht angeben. Leider werden Ihre Zeilen dadurch aufgefüllt, wenn Sie sie nicht entfernen.

Zum Beispiel:

echo "" | hexdump -e '256 1 "%02x"'
#Output: 0a[followed by a significant amount of whitespace]

Um das Verhalten genau nachzubilden, können Sie hexdump mit Folgendem kombinieren fold:

echo "" | hexdump -e '"%02x"' | fold -b -w512

verwandte Informationen