Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
doc:systeme:expand [04/10/2013 16:35] MicP [Introduction] |
doc:systeme:expand [29/09/2015 18:35] (Version actuelle) milou [expand] |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* Objet : expand | * Objet : expand | ||
- | * Niveau requis : {{tag>débutant}} | + | * Niveau requis : {{tag>débutant avisé}} |
- | * Commentaires : //La commande expand. // | + | * Commentaires : //Remplacer, dans un fichier comme dans un flux, chaque caractère de tabulation par une suite de caractères “espace”. // |
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
* Suivi : {{tag>à-tester}} | * Suivi : {{tag>à-tester}} | ||
- | * Création par **MicP** 03/10/2013 | + | * Création par [[user>MicP]] 03/10/2013 |
- | * Testé par <...> le <...> FIXME | + | * Testé par <...> le <...> |
* Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=7531 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=7531 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
- | == Nota == | ||
- | |||
- | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
===== Introduction ===== | ===== Introduction ===== | ||
Les caractères de tabulation sont interprétés différemment en fonction du terminal qui va devoir les afficher.\\ | Les caractères de tabulation sont interprétés différemment en fonction du terminal qui va devoir les afficher.\\ | ||
- | Lors d'un "copié/collé" de la sortie d'une commande contenant des caractères de tabulation, l'affichage du texte obtenu dans les posts du forum pourrait est déformé du fait de cette différence d'interprétation des caractères de tabulation. | + | Lors d'un "copié/collé" de la sortie d'une commande contenant des caractères de tabulation, l'affichage du texte obtenu dans les posts du forum pourrait apparaître déformé du fait de cette différence d'interprétation des caractères de tabulation. |
- | + | ||
- | La commande "''expand''" permet de remplacer, dans un fichier comme dans un flux, chaque caractère de tabulation par une suite de caractères "espace" (8 par défaut). | + | |
+ | La commande ''expand'' permet de remplacer, dans un fichier comme dans un flux, chaque caractère de tabulation par une suite de caractères "espace" (8 par défaut). | ||
===== Utilisation ===== | ===== Utilisation ===== | ||
Ligne 32: | Ligne 28: | ||
<code user>commande | expand -t 3</code> | <code user>commande | expand -t 3</code> | ||
- | <note info>Ces commandes utilisent les redirections de flux ''>'', ''>>'' et ''|'', voir la documentation sur le [[:doc:programmation:shell:]] pour plus d'informations.</note> | + | <note info>Les 3 lignes de commande ci-dessus utilisent les caractères de [[doc:programmation:shell:shell#rediriger_l_affichage|redirection de flux]] ''>'', ''>>'' et ''|''.\\ Voir la documentation sur le [[:doc:programmation:shell:]] pour plus d'informations.</note> |
===== TPs ===== | ===== TPs ===== | ||
==== Application à la commande ''chage'' ==== | ==== Application à la commande ''chage'' ==== | ||
- | Ci dessous, un copié/collé du retour de [[doc:systeme:chage|la commande chage]] dont les caractères de tabulation posent problème, car chaque caractère de tabulation est converti en une suite de //4 caractères espaces// une fois affichée dans un post du forum. | + | Ci dessous, un copié/collé du retour de [[doc:systeme:chage|la commande chage]] dont les caractères de tabulation posent problème, car chaque caractère de tabulation est converti en une suite de //4 caractères "espace"// une fois affiché dans un post du forum. |
- | <code user>tmpLang=$LANG && LANG=C;chage -l $USER;LANG=$tmpLang</code> | + | <code user>tmpLang=$LANG && LANG=C; chage -l $USER; LANG=$tmpLang</code> |
Donne une fois copié/collé dans le forum : | Donne une fois copié/collé dans le forum : | ||
<code> | <code> | ||
Ligne 50: | Ligne 46: | ||
</code> | </code> | ||
- | Alors qu'en utilisant la commande "''expand''" au travers d'un [[doc:programmation:shell:pipe|pipe]], chaque caractère de tabulation sera remplacé par une suite de //8 caractères espaces//.\\ | + | Alors qu'en utilisant la commande ''expand'' au travers d'un [[doc:programmation:shell:pipe|pipe]] ''|'', chaque caractère de tabulation sera remplacé par une suite de //8 caractères "espace"//.\\ |
Dès lors, le contenu du copié/collé ne comportant plus de caractère de tabulation, l'affichage résultant dans le forum gardera la même apparence que dans la fenêtre du terminal qui a servi de source à la copie : | Dès lors, le contenu du copié/collé ne comportant plus de caractère de tabulation, l'affichage résultant dans le forum gardera la même apparence que dans la fenêtre du terminal qui a servi de source à la copie : | ||
<code user> | <code user> | ||
- | tmpLang=$LANG && LANG=C;chage -l $USER | expand;LANG=$tmpLang</code> | + | tmpLang=$LANG && LANG=C; chage -l $USER | expand; LANG=$tmpLang</code> |
Donnera collé dans le forum : | Donnera collé dans le forum : | ||
Ligne 69: | Ligne 65: | ||
- | <note important>J'ai dû modifier la variable ''LANG'' pour obtenir la version américaine de la sortie de la commande **chage** car la version française présente justement un défaut au niveau des caractères de tabulation.\\ | + | <note important>J'ai dû modifier la variable ''LANG'' pour obtenir la version américaine de la sortie de [[doc:systeme:chage|la commande chage]] car la version française de cette commande présente justement un défaut au niveau des caractères de tabulation.\\ |
Si je trouve une autre commande retournant des caractères de tabulation dans sa version française, je n'aurai pas à modifier et restaurer la variable **LANG**, et ce dokuWiKi en deviendra plus clair. | Si je trouve une autre commande retournant des caractères de tabulation dans sa version française, je n'aurai pas à modifier et restaurer la variable **LANG**, et ce dokuWiKi en deviendra plus clair. | ||
Ligne 79: | Ligne 75: | ||
<code user>infocmp $TERM</code> | <code user>infocmp $TERM</code> | ||
+ | <file terminal extrait du retour de la commande ci-dessus> | ||
+ | # Reconstructed via infocmp from file: /lib/terminfo/x/xterm | ||
+ | xterm|xterm-debian|X11 terminal emulator, | ||
+ | am, bce, km, mc5i, mir, msgr, npc, xenl, | ||
+ | colors#8, cols#80, it#8, lines#24, pairs#64, | ||
+ | acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, | ||
+ | .../... | ||
+ | </file> | ||
+ | Dans le retour de commande ci-dessus, "it#8" indique que les caractères de tabulation occuperont un espace équivalent à une suite de 8 caractères "espace" dans le terminal "xterm". | ||
<code user>man expand</code> | <code user>man expand</code> | ||
<code user>man unexpand</code> | <code user>man unexpand</code> |