En mi estación de trabajo actual, solo tengo hexdump
y 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 %02x
como 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