web-dev-qa-db-fra.com

Sortie XXD sans pauses de ligne

Puis-je dire xxd _ N'imprimez pas de rupture de ligne dans sa sortie et à avoir ma décharge comme une ligne continue?

[user@localhost] : ~ $ echo -n "this is a long line and xxd is going to take multiple lines to print it" | xxd -p
746869732069732061206c6f6e67206c696e6520616e6420787864206973
20676f696e6720746f2074616b65206d756c7469706c65206c696e657320
746f207072696e74206974
13
Juicy

Ce dont vous avez besoin est l'option -c.

# echo -n "this is a long line and xxd will print it as one line" | xxd -p -c 1000000

746869732069732061206c6f6e67206c696e6520616e64207878642077696c6c207072696e74206974206173206f6e65206c696e65

Voici quelques informations de la Documentation :

-c cols | -Cols Cols Format Octets par ligne. Par défaut 16 (-I: 12, -PS: 30, -B: 6). Max 256.

La documentation indique que la valeur maximale du paramètre "C" est de 256, mais j'ai essayé de plus grandes valeurs et cela a fonctionné. Vérifiez-le:

# xxd -c 1000000 -p -l 1000000 /dev/urandom | wc -c
2000001

Ici, je jette un million d'octets de/dev/aléatoires et je reçois une chaîne de 2 millions de + 1 caractères. Chaque octet de/dev/aléatoire est représenté par 2 caractères et un octet supplémentaire est la nouvelle ligne finale.

15
Graf