Usando hexdump para replicar el comando xxd

Usando hexdump para replicar el comando xxd

En mi estación de trabajo actual, solo tengo hexdumpy no puedo instalar otros paquetes como xxd. Entonces necesito traducir este comando xxd a un equivalente de volcado hexadecimal.

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

Como puede ver, hay un "0" adicional al final del resultado, lo que significa que mi solución no funciona.

¿Podrías ayudarme?

Respuesta1

Intente utilizarlo %02xcomo especificador de formato para hexdump. Un solo byte no tendrá prefijo cero a menos que usted así lo indique. Desafortunadamente, eso comenzará a rellenar tus líneas a menos que las elimines.

Por ejemplo:

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

Para que el comportamiento coincida exactamente, puede combinar hexdump con fold:

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

información relacionada