Xd-Befehl mit Hexdump replizieren

571
Adel Boutros

Auf meiner aktuellen Workstation habe ich nur hexdumpandere Pakete, wie zum Beispiel xxd. Also 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, gibt es am Ende der Ausgabe eine zusätzliche "0", was bedeutet, dass meine Lösung nicht funktioniert.

Kannst du mir bitte helfen?

0

1 Antwort auf die Frage

0
Andrew Domaszek

Versuchen Sie es %02xals Formatbezeichner für Hexdump. Ein einzelnes Byte würde nicht mit Null vorangestellt, wenn Sie es nicht angeben. Unglücklicherweise fängt das an, Ihre Zeilen aufzufüllen, es sei denn, Sie ziehen sie aus.

Zum Beispiel:

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

Um das Verhalten genau anzupassen, können Sie Hexdump mit foldfolgenden Elementen kombinieren :

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