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 06:48] MicP [Titre de Votre Tuto] |
doc:systeme:expand [29/09/2015 18:35] (Version actuelle) milou [expand] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Titre de Votre Tuto ====== | + | ====== expand ====== |
- | * Objet : commande ''expand'' | + | * Objet : expand |
- | * Niveau requis : FIXME {{tag>débutant avisé}} | + | * Niveau requis : {{tag>débutant avisé}} |
- | * Commentaires : //Contexte d'utilisation du sujet du tuto. // FIXME | + | * 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>en-chantier à-tester à-placer}} - FIXME | + | * 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 !)) | ||
- | ==== 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 apparaître 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 série d'espaces (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). |
- | ==== Exemple ==== | + | ===== Utilisation ===== |
- | Ci dessous, un copié/collé du retour de la commande "[[doc:systeme:chage|chage]]" dont les caractères de tabulation posent problème, car chaque caractère de tabulation est converti en une suite de 4 espaces une fois affiché dans un post du forum. | + | |
- | <code user> | + | Pour convertir en une suite de 8 caractères "espace", chaque caractère de tabulation contenu dans le fichier ''~/fichier'', et enregistrer le résultat dans le fichier ''~/nouveau_fichier'': |
- | michel@deb9550:~$ tmpLang=$LANG && LANG=C;chage -l $USER;LANG=$tmpLang | + | <code user>expand ~/fichier > ~/nouveau_fichier</code> |
+ | |||
+ | Pour convertir l'affichage de la commande ''commande'' et écrire le résultat à la fin du fichier ''~/commande.log'' : | ||
+ | <code user>commande | expand >> ~/commande.log</code> | ||
+ | |||
+ | Pour convertir l'affichage de la commande ''commande'' en remplaçant les tabulations par 3 caractères "espace" et afficher le résultat : | ||
+ | <code user>commande | expand -t 3</code> | ||
+ | |||
+ | <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 ===== | ||
+ | |||
+ | ==== 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 "espace"// une fois affiché dans un post du forum. | ||
+ | <code user>tmpLang=$LANG && LANG=C; chage -l $USER; LANG=$tmpLang</code> | ||
+ | Donne une fois copié/collé dans le forum : | ||
+ | <code> | ||
Last password change : Aug 25, 2013 | Last password change : Aug 25, 2013 | ||
Password expires : never | Password expires : never | ||
Ligne 25: | Ligne 44: | ||
Maximum number of days between password change : 99999 | Maximum number of days between password change : 99999 | ||
Number of days of warning before password expires : 7 | Number of days of warning before password expires : 7 | ||
- | michel@deb9550:~$ | ||
</code> | </code> | ||
- | 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ères de tabulation, l'affichage résultant dans le forum garde 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> | ||
- | michel@deb9550:~$ tmpLang=$LANG && LANG=C;chage -l $USER | expand;LANG=$tmpLang | + | tmpLang=$LANG && LANG=C; chage -l $USER | expand; LANG=$tmpLang</code> |
+ | |||
+ | Donnera collé dans le forum : | ||
+ | <code> | ||
Last password change : Aug 25, 2013 | Last password change : Aug 25, 2013 | ||
Password expires : never | Password expires : never | ||
Ligne 39: | Ligne 60: | ||
Maximum number of days between password change : 99999 | Maximum number of days between password change : 99999 | ||
Number of days of warning before password expires : 7 | Number of days of warning before password expires : 7 | ||
- | michel@deb9550:~$ | ||
</code> | </code> | ||
- | ==== Voir aussi ==== | ||
- | <code user>infocmp $TERM</code> | ||
- | <code user>man expand</code> | ||
- | <code user>man unexpand</code> | ||
+ | :-D | ||
- | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
- | ===== Note ===== | + | <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.\\ |
- | 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.\\ | + | |
- | Si je trouve entre temps une autre commande retournant des caractères de tabulation dans sa version française, je n'aurais pas à modifier et restaurer la variable LANG, et ce dokuWiKi 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. |
- | Donc en chantier pour l'instant... | + | //Donc en chantier pour l'instant...//</note> |
+ | |||
+ | |||
+ | ===== Voir aussi ===== | ||
+ | |||
+ | <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 unexpand</code> |