logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 13:34]
smolski
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 ​en-chantier}} +  * 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>en-chantier ​à-tester ​à-placer}} +  * 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 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). 
 +===== Utilisation =====
  
-==== Exemple ====+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'':​ 
 +<code user>​expand ~/fichier > ~/​nouveau_fichier</​code>​
  
-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. +Pour convertir l'​affichage de la commande ''​commande''​ et écrire le résultat à la fin du fichier ''​~/​commande.log''​ : 
-<code user> +<code user>​commande | expand >> ~/​commande.log</​code>​ 
-tmpLang=$LANG && LANG=C;​chage -l $USER;​LANG=$tmpLang</​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 :  Donne une fois copié/​collé dans le forum : 
 <​code>​ <​code>​
Ligne 35: 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>​
  
-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 56: Ligne 64:
 :-D :-D
  
-===== Voir aussi ===== 
  
-<code user>​infocmp $TERM</​code>​ +<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.\\ ​
-<code user>man expand</​code>​ +
-<code user>man unexpand</​code>+
  
-===== Note =====+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.
  
-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.\\ +//Donc en chantier pour l'instant...//</​note>​
  
-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...//+===== 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>
doc/systeme/expand.1380886468.txt.gz · Dernière modification: 04/10/2013 13:34 par smolski

Pied de page des forums

Propulsé par FluxBB