| .TH XXD 1 "août 1996" "Page de manuel pour xxd" |
| .\" |
| .\" 21st May 1996 |
| .\" Man page author: |
| .\" Tony Nugent <tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au> |
| .\" Changes by Bram Moolenaar <Bram@vim.org> |
| .\" French translation by David Blanchet <david.blanchet@free.fr> 2005-03 |
| .SH NOM |
| .I xxd |
| \- convertit en représentation hexadécimale et inversement. |
| .SH SYNOPSIS |
| .B xxd |
| \-h[elp] |
| .br |
| .B xxd |
| [options] [fichier_entree [fichier_sortie]] |
| .br |
| .B xxd |
| \-r[evert] [options] [fichier_entree [fichier_sortie]] |
| .SH DESCRIPTION |
| .I xxd |
| crée un fichier contenant la représentation hexadécimale d'un fichier |
| binaire ou de l'entrée standard. |
| Il peut également convertir un fichier de codes hexadécimaux en un fichier |
| binaire. |
| Comme |
| .BR uuencode (1) |
| et |
| .BR uudecode (1) |
| il permet la transmission de données binaires dans une représentation ASCII |
| compatible avec le courrier électronique, mais a l'avantage de décoder la |
| sortie standard. |
| De plus, il peut être utilisé pour appliquer des rustines à des fichiers |
| binaires. |
| .SH OPTIONS |
| Si aucun |
| .I fichier_entree |
| n'est spécifié, l'entrée standard est utilisée. |
| Si |
| .I fichier_entree |
| correspond au caractère |
| .RB '\-' |
| \, l'entrée standard est employée comme source des données en entrée. |
| Si aucun |
| .I fichier_sortie |
| n'est spécifié (ou qu'un caractère |
| .RB '\-' |
| est donné à sa place), le résultat est envoyé sur la sortie standard. |
| .PP |
| NOTE : un analyseur paresseux est utilisé. Il ne vérifie pas au-delà de la |
| première lettre de l'option, à moins que cette dernière ne requiert un |
| paramètre. |
| L'espace entre l'option et son paramètre est optionnel. |
| Les paramètres des options peuvent être spécifiés en notation décimale, |
| hexadécimale ou octale. |
| Ainsi |
| .BR \-c8 , |
| .BR "\-c 8" , |
| .B \-c 010 |
| et |
| .B \-cols 8 |
| sont tous équivalents. |
| .TP |
| .IR \-a " | " \-autoskip |
| active la fonctionnalité "autoskip" : le caractère '*' remplace les lignes |
| d'octets nuls. Désactivée par défaut. |
| .TP |
| .IR \-b " | " \-bits |
| Convertit en binaires plutôt qu'en hexadécimal. |
| Cette option écrit les octets comme une séquence de "1" et de "0" au lieu |
| d'une conversion en hexadécimal traditionnel. Chaque ligne est précédée par un |
| numéro de ligne en hexadécimal et suivie de la représentation ASCII (ou |
| EBCDIC) correspondante. Les options \-r, \-p, \-i ne fonctionnent pas dans ce |
| mode. |
| .TP |
| .IR "\-c cols " | " \-cols cols" |
| place |
| .RI < cols > |
| octets par ligne. 16 par défaut (\-i : 12, \-ps : 30, \-b : 6). Maximum 256. |
| .TP |
| .IR \-E " | " \-EBCDIC |
| Passe le codage des caractères de la colonne de droite de ASCII à EBCDIC. |
| Cela ne change pas la représentation hexadécimale. Cette option est sans effet |
| quand elle est utilisée avec \-r, \-p or \-i. |
| .TP |
| .IR "\-g octets " | " \-groupsize octets" |
| Regroupe les octets (deux chiffres hexadécimaux ou huit chiffres binaires) |
| par groupe de |
| .RI < octets > |
| \, séparés par des espaces blancs. Spécifiez |
| .I \-g 0 |
| pour supprimer le regroupement. |
| .RI < octets > |
| vaut 2 par défaut dans le mode normal et \fI1\fP en |
| représentation binaire. Le regroupement ne s'applique pas aux styles |
| Postscript et Include. |
| .TP |
| .IR \-h " | " \-help |
| Affiche un résumé des commandes disponibles et quitte. Aucune conversion n'est |
| effectuée. |
| .TP |
| .IR \-i " | " \-include |
| produit une sortie dans le style #include (fichier C à inclure). La définition |
| complète d'un tableau statique est écrite et est nommée d'après le fichier |
| d'origine, à moins que xxd lise depuis l'entrée standard. |
| .TP |
| .IR "\-l long " | " \-len long" |
| Arrête après l'écriture de |
| .RI < long > |
| octets. |
| .TP |
| .IR \-p " | " \-ps " | " \-postscript " | " \-plain |
| Produit une conversion continue dans le style Postscript (postscript continuous |
| hexdumd style). |
| Également connu sous le nom de « conversion brute » (plain hexdump style). |
| .TP |
| .IR \-r " | " \-revert |
| Opération inverse : convertit un fichier hexadécimal en un fichier binaire (ou |
| applique une rustine à un fichier binaire). |
| Si l'écriture n'a pas lieu sur la sortie standard, xxd écrit dans le fichier |
| qu'il produit sans le tronquer. Utilisez la combinaison |
| .I \-r \-p |
| pour lire de l'hexadécimal brut sans information sur le numéro des lignes et |
| sans format de colonnes particulier. Des espaces blancs et coupures de lignes |
| supplémentaires sont autorisés à n'importe quel endroit. |
| .TP |
| .I \-seek décalage |
| Utilisé après l'option |
| .IR \-r : |
| inverse la conversion en ajoutant |
| .RI < décalage > |
| aux positions dans le fichier données dans le code hexadécimal. |
| .TP |
| .I \-s [+][\-]décalage |
| Débute au |
| .RI < décalage > |
| absolu ou relatif dans fichier_entree. |
| \fI+ \fRindique que le décalage est relatif à la position courante dans |
| l'entrée standard (sans effet si la lecture n'a pas lieu sur l'entrée |
| standard). \fI\- \fRindique un décalage en caractères depuis la fin de |
| l'entrée (utilisé avec \fI+\fR, désigne la position avant la position |
| actuelle de l'entrée standard). |
| Sans l'option \-s, xxd démarre à la position courante du fichier. |
| .TP |
| .I \-u |
| Utilise des chiffres hexadécimaux majuscules. La casse par défaut est |
| minuscule. |
| .TP |
| .IR \-v " | " \-version |
| Affiche la version de xxd. |
| .SH MISE EN GARDE |
| .I xxd \-r |
| effectue des opérations internes un peu obscures lors de l'évaluation |
| des informations sur les numéros de lignes. Si le fichier de sortie est |
| adressable, alors les numéros de lignes au début de chaque ligne d'hexadécimal |
| peuvent être désordonnées, des lignes peuvent manquer ou se chevaucher. Dans |
| ces cas, xxd utilisera lseek(2) pour déterminer la prochaine position. Si le |
| fichier n'est pas adressable, seuls les vides sont autorisés, et ils seront |
| comblés par des octets nuls. |
| .PP |
| .I xxd \-r |
| ne génère aucune erreur lors de l'analyse. Le problème sont passés |
| silencieusement. |
| .PP |
| Lors de l'édition de la représentation hexadécimale, veuillez noter que |
| .I xxd \-r |
| ignore tout ce qui se trouve sur la ligne après avoir lu suffisamment de |
| données hexadécimales (voir l'option \-c). Cela signifie également que les |
| modifications dans la colonne ASCII (ou EBCDIC) sont toujours ignorées. La |
| conversion inverse de données hexadécimales brutes (postscript) avec xxd \-r |
| \-p ne dépend pas d'un nombre correct de colonnes. Dans ce cas, tout ce qui |
| ressemble à une paire de chiffres hexadécimaux est interprété. |
| .PP |
| Remarquez la différence entre |
| .br |
| \fI% xxd \-i fichier\fR |
| .br |
| et |
| .br |
| \fI% xxd \-i < fichier\fR |
| .PP |
| .I xxd \-s \+seek |
| peut différer de |
| .IR "xxd \-s seek" , |
| car lseek(2) est utilisé pour « revenir en arrière ». Le '+' fait une |
| différence quand la source des données est l'entrée standard et si la position |
| dans le fichier de l'entrée standard n'est pas au début du fichier lorsque xxd |
| est démarré et qu'il reçoit ses données. |
| L'exemple suivant peut vous aider à comprendre (ou bien vous perdre davantage |
| encore !)... |
| .PP |
| Remettre l'entrée standard au départ avant de lire ; nécessaire car 'cat' a |
| déjà lu jusqu'à la fin de l'entrée standard. |
| .br |
| \fI% sh \-c 'cat > donnees_binaires; xxd \-s 0 > donnees_hexa' < fichier\fR |
| .PP |
| Convertir à partir de la position 0x480 (= 1024 + 128) du fichier. |
| Le symbole '+' signifie "relativement à la position actuelle', ainsi 128 est |
| ajouté aux 1024 octets comptabilisés pour dd. |
| .br |
| \fI% sh \-c 'dd of=donnees_binaires bs=1k count=1; xxd \-s +128 > |
| donnees_hexa' < fichier\fR |
| .PP |
| Convertir de fichier depuis la position 0x100 (= 1024 \- 768) du fichier. |
| .br |
| \fI% sh \-c 'dd of=donnees_binaires bs=1k count=1; xxd \-s +\-768 > |
| donnees_hexa' < fichier\fR |
| .PP |
| Toutefois, cette situation est peu fréquente et l'utilisation de '+' est |
| rarement requise. L'auteur préfère surveiller les effets de xxd avec strace(1) |
| ou truss(1) quand \-s est employé. |
| .SH EXEMPLES |
| Afficher la totalité du |
| .B fichier |
| sauf les trois premières lignes (0x30 octets en hexadécimal). |
| .br |
| \fI% xxd \-s 0x30 fichier\fR |
| .PP |
| afficher les trois dernières lignes (0x30 octets en hexadécimal) du |
| .B fichier |
| \. |
| .br |
| \fI% xxd \-s \-0x30 fichier\fR |
| .PP |
| .br |
| Afficher 120 octets convertis en continu, avec 20 octets par ligne. |
| .br |
| \fI% xxd \-l 120 \-ps \-c 20 xxd\-fr.1\fR |
| .br |
| 2e54482058584420312022616ffb742031393936 |
| .br |
| 22202250616765206465206d616e75656c20706f |
| .br |
| 757220787864220a2e5c220a2e5c222032317374 |
| .br |
| 204d617920313939360a2e5c22204d616e207061 |
| .br |
| 676520617574686f723a0a2e5c2220202020546f |
| .br |
| 6e79204e7567656e74203c746f6e79407363746e |
| .br |
| 204e7567656e74203c746f6e79407363746e7567 |
| .br |
| 2e54482058584420312022417567757374203139 |
| .PP |
| Convertir les 120 premiers octets de cette page de manuel avec 12 octets par |
| ligne. |
| .br |
| \fI% xxd \-l 120 \-c 12 xxd\-fr.1\fR |
| .br |
| 0000000: 2e54 4820 5858 4420 3120 2261 .TH XXD 1 "a |
| .br |
| 000000c: 6ffb 7420 3139 3936 2220 2250 o.t 1996" "P |
| .br |
| 0000018: 6167 6520 6465 206d 616e 7565 age de manue |
| .br |
| 0000024: 6c20 706f 7572 2078 7864 220a l pour xxd". |
| .br |
| 0000030: 2e5c 220a 2e5c 2220 3231 7374 .\"..\" 21st |
| .br |
| 000003c: 204d 6179 2031 3939 360a 2e5c May 1996..\ |
| .br |
| 0000048: 2220 4d61 6e20 7061 6765 2061 " Man page a |
| .br |
| 0000054: 7574 686f 723a 0a2e 5c22 2020 uthor:..\" |
| .br |
| 0000060: 2020 546f 6e79 204e 7567 656e Tony Nugen |
| .br |
| 000006c: 7420 3c74 6f6e 7940 7363 746e t <tony@sctn |
| .PP |
| Afficher la date écrite au début du fichier xxd\-fr.1. |
| .br |
| \fI% xxd \-s 0x38 \-l 13 \-c 13 xxd.1\fR |
| .br |
| 0000036: 3231 7374 204d 6179 2031 3939 36 21st May 1996 |
| .PP |
| Copier |
| .B fichier_entree |
| vers |
| .B fichier_sortie |
| en ajoutant 100 octets de valeur 0x00 avant. |
| .br |
| \fI% xxd fichier_entree | xxd \-r \-s 100 \> fichier_sortie\fR |
| .PP |
| Patcher la date dans le fichier xxd.1 |
| .br |
| \fI% echo '0000037: 3574 68' | xxd \-r \- xxd\-fr.1\fR |
| .br |
| \fI% xxd \-s 0x38 \-l 13 \-c 13 xxd\-fr.1\fR |
| .br |
| 0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996 |
| .PP |
| Créer un fichier de 65537 octets tous nuls (0x00), |
| sauf le dernier qui vaut 'A' (0x41 en hexadécimal). |
| .br |
| \fI% echo '010000: 41' | xxd \-r \> fichier\fR |
| .PP |
| .br |
| Convertir le fichier de l'exemple précédent avec la fonctionnalité "autoskip". |
| .br |
| \fI% xxd \-a \-c 12 fichier\fR |
| .br |
| 0000000: 0000 0000 0000 0000 0000 0000 ............ |
| .br |
| * |
| .br |
| 000fffc: 0000 0000 40 ....A |
| .PP |
| Créer un fichier d'un octet, contenant seulement le caractère 'A'. |
| Les nombres après '\-r \-s' s'ajoutent au numéros de lignes trouvées dans le |
| fichier ; les octets initiaux sont supprimés. |
| .br |
| \fI% echo '010000: 41' | xxd \-r \-s \-0x10000 \> fichier\fR |
| .PP |
| Utiliser xxd comme filtre dans un éditeur tel que |
| .B vim(1) |
| pour convertir une zone comprise entre les marques 'a' et 'z'. |
| .br |
| \fI:'a,'z!xxd\fR |
| .PP |
| Utiliser xxd comme filtre dans un éditeur tel que |
| .B vim(1) |
| pour récupérer une conversion binaire comprise entre les marques 'a' et 'z'. |
| .br |
| \fI:'a,'z!xxd \-r\fR |
| .PP |
| Utiliser xxd comme filtre dans un éditeur tel que |
| .B vim(1) |
| pour récupérer une ligne convertie. Placez le curseur sur la ligne et tapez : |
| .br |
| \fI!!xxd \-r\fR |
| .PP |
| Lire des caractères depuis une connexion série : |
| .br |
| \fI% xxd \-c1 < /dev/term/b &\fR |
| .br |
| \fI% stty < /dev/term/b \-echo \-opost \-isig \-icanon min 1\fR |
| .br |
| \fI% echo \-n foo > /dev/term/b\fR |
| .SH VALEURS DE RETOUR |
| Les erreurs suivantes sont rapportées : |
| .TP |
| 0 |
| aucune erreur ne s'est produit. |
| .TP |
| \-1 |
| opération non supportée ( |
| .I xxd \-r \-i |
| reste impossible). |
| .TP |
| 1 |
| erreur lors de l'analyse des options. |
| .TP |
| 2 |
| problème avec le fichier d'entrée. |
| .TP |
| 3 |
| problème avec le fichier de sortie. |
| .TP |
| 4, 5 |
| la position spécifiée n'est pas atteignable. |
| .SH VOIR AUSSI |
| uuencode(1), uudecode(1), patch(1) |
| .SH AVERTISSEMENTS |
| L'étrangeté de cet outil reflète celle du cerveau de ses créateurs. |
| Utilisez cet outil à vos risques et périls. Dupliquez vos fichiers. |
| Surveillez l'outil. Devenez un gourou. |
| .SH VERSION |
| Cette page de manuel documente la version 1.7 de xxd. |
| .SH AUTEUR |
| (c) 1990-1997 par Juergen Weigert |
| .br |
| <jnweiger@informatik.uni-erlangen.de> |
| .LP |
| "Distribute freely and credit me, |
| .br |
| make money and share with me, |
| .br |
| lose money and don't ask me." |
| .PP |
| Distribution libre en citant l'auteur, |
| .br |
| gagnez de l'argent, pensez à moi, |
| .br |
| perdez de l'argent, oubliez-moi. |
| .PP |
| Page de manuel débutée par Tony Nugent |
| .br |
| <tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au> |
| .br |
| Modifications mineures par Bram Moolenaar. |
| Édité par Juergen Weigert. |
| .SH TRADUCTION |
| Cette page de manuel a été traduite par David Blanchet |
| <david.blanchet@free.fr> 2004-12-24. |
| Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com> |