Usando o hexdump para replicar o comando xxd

0

Na minha estação de trabalho atual, só tenho hexdump e 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?

    
por Adel Boutros 01.02.2018 / 17:08

1 resposta

0

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

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 o hexdump com fold :

echo "" | hexdump -e '"%02x"' | fold -b -w512
    
por 01.02.2018 / 17:50

Tags