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 Prochaine révision Les deux révisions suivantes | ||
doc:systeme:expand [04/10/2013 15:58] captnfab [Utilisation] |
doc:systeme:expand [04/10/2013 19:54] MicP [TPs] |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* Objet : expand | * Objet : expand | ||
- | * Niveau requis : {{tag>débutant en-chantier}} | + | * Niveau requis : {{tag>débutant}} |
* Commentaires : //La commande expand. // | * Commentaires : //La commande expand. // | ||
* 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 **MicP** 03/10/2013 | ||
* Testé par <...> le <...> FIXME | * Testé par <...> le <...> FIXME | ||
Ligne 17: | Ligne 17: | ||
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 ===== | ===== Utilisation ===== | ||
- | Pour convertir toutes les tabulations du fichier ''~/fichier'' en espaces et enregistrer le résultat dans ''~/nouveau_fichier'' : | + | 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> | <code user>expand ~/fichier > ~/nouveau_fichier</code> | ||
Ligne 29: | Ligne 28: | ||
<code user>commande | expand >> ~/commande.log</code> | <code user>commande | expand >> ~/commande.log</code> | ||
- | Pour convertir l'affichage de la commande ''commande'' en remplaçant les tabulations par 3 espaces et afficher le résultat : | + | 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> | <code user>commande | expand -t 3</code> | ||
- | <note info>Ces commandes utilisent les redirections de flux, 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 49: | ||
</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 68: | ||
- | === 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 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. | ||
- | //Donc en chantier pour l'instant...// | + | //Donc en chantier pour l'instant...//</note> |