Usando hexdump para replicar o comando xxd

Usando hexdump para replicar o comando xxd

Na minha estação de trabalho atual, só tenho hexdumpe não tenho permissão para instalar outros pacotes, como xxd. Então eu preciso traduzir este comando xxd para um equivalente hexdump

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 você pode ver, há um “0” extra no final da saída, o que significa que minha solução não está funcionando.

Você pode por favor me ajudar?

Responder1

Tente usar %02xcomo especificador de formato para hexdump. Um único byte não teria prefixo zero, a menos que você solicite. Infelizmente, isso começará a preencher suas linhas, a menos que você as retire.

Por exemplo:

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

Para corresponder exatamente ao comportamento, você pode combinar hexdump com fold:

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

informação relacionada