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:commandes:les-commandes-join-paste-split-et-nl [10/07/2014 09:55] Hypathie [Les commandes expand et unexpand] |
doc:systeme:commandes:les-commandes-join-paste-split-et-nl [08/10/2015 18:56] milou [La commande expand] |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* Objet : Voici d'autres commandes pour la gestion de fichiers texte | * Objet : Voici d'autres commandes pour la gestion de fichiers texte | ||
- | * Niveau requis : {{tag>grand-débutant }} | + | * Niveau requis : {{tag>débutant avisé}} |
* 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>à-placer}} | + | * Suivi : {{tag>à-tester}} |
- | * Création par [[user>Hypathie]] 07/06/2014 | + | * Création par [[user>Hypathie]] le 07/06/2014 |
- | * Testé par <...> le <...> FIXME | + | * Testé par <...> le <...> |
* Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?pid=92369#p92369 | 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?pid=92369#p92369 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
- | **Nota : Voici des commandes très simples d'utilisation. ** | ||
- | |||
- | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
===== Introduction ===== | ===== Introduction ===== | ||
Ligne 20: | Ligne 17: | ||
Nous allons aborder quelques commandes complémentaires permettant de : | Nous allons aborder quelques commandes complémentaires permettant de : | ||
- | * améliorer l'affichage : fnt ; nl | + | * améliorer l'affichage : fmt ; nl |
* combiner le contenu de fichiers : join ; paste | * combiner le contenu de fichiers : join ; paste | ||
- | * transformer le contenu de fichier : sort ; split ; tr ; uniq ; expand et unexpand | + | * transformer le contenu de fichiers : sort ; split ; tr ; uniq ; expand et unexpand |
Ligne 36: | Ligne 33: | ||
<code user> | <code user> | ||
cat > ~/Essai-text-processing/essai-fmt <<EOF | cat > ~/Essai-text-processing/essai-fmt <<EOF | ||
- | > chez debian-facile c'est facile ... très facile ... très très facile ... très très très très très très facile ... facile et encore facile ! | + | > chez debian-facile c'est facile ... très facile ... très très facile ... très très très très très très facile ... |
+ | facile et encore facile ! | ||
> EOF | > EOF | ||
</code> | </code> | ||
Ligne 46: | Ligne 44: | ||
cat ~/Essai-text-processing/essai-fmt | cat ~/Essai-text-processing/essai-fmt | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
chez debian-facile c'est facile ... très facile ... très très facile ... très tr | chez debian-facile c'est facile ... très facile ... très très facile ... très tr | ||
ès très très très très facile ... facile et encore facile ! | ès très très très très facile ... facile et encore facile ! | ||
- | </code> | + | </file> |
>L'affichage avec la commande ''cat'' peut être difficile à lire. | >L'affichage avec la commande ''cat'' peut être difficile à lire. | ||
Ligne 57: | Ligne 55: | ||
fmt ~/Essai-text-processing/essai-fmt | fmt ~/Essai-text-processing/essai-fmt | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
chez debian-facile c'est facile ... très facile ... très très facile | chez debian-facile c'est facile ... très facile ... très très facile | ||
... très très très très très très facile ... facile et encore | ... très très très très très très facile ... facile et encore | ||
facile ! | facile ! | ||
- | </code> | + | </file> |
<note> | <note> | ||
* Par défaut, la commande ''fmt'' affiche le contenu d'un fichier par ligne de 75 caractères maximum. | * Par défaut, la commande ''fmt'' affiche le contenu d'un fichier par ligne de 75 caractères maximum. | ||
+ | |||
* L'option ''-w'' : pour indiquer le nombre de caractère par ligne | * L'option ''-w'' : pour indiquer le nombre de caractère par ligne | ||
<code user> | <code user> | ||
fmt -w 20 ~/Essai-text-processing/essai-fmt | fmt -w 20 ~/Essai-text-processing/essai-fmt | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
chez debian-facile | chez debian-facile | ||
c'est facile | c'est facile | ||
Ligne 78: | Ligne 77: | ||
... facile et | ... facile et | ||
encore facile ! | encore facile ! | ||
- | </code> | + | </file> |
</note> | </note> | ||
Ligne 85: | Ligne 84: | ||
fmt -w 20 ~/Essai-text-processing/essai-fmt | less | fmt -w 20 ~/Essai-text-processing/essai-fmt | less | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
chez debian-facile | chez debian-facile | ||
c'est facile | c'est facile | ||
Ligne 96: | Ligne 95: | ||
encore facile ! | encore facile ! | ||
(END) | (END) | ||
- | </code> | + | </file> |
* Voir [[doc:editeurs:less| la commande less]] | * Voir [[doc:editeurs:less| la commande less]] | ||
Ligne 117: | Ligne 116: | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
# ~/.bashrc: executed by bash(1) for non-login shells. | # ~/.bashrc: executed by bash(1) for non-login shells. | ||
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) | # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) | ||
Ligne 127: | Ligne 126: | ||
*) return;; | *) return;; | ||
esac | esac | ||
- | </code> | + | </file> |
>Premières lignes du retour. | >Premières lignes du retour. | ||
===Affichage numéroté === | ===Affichage numéroté === | ||
- | <code> | + | <code user> |
nl ~/Essai-text-processing/bashrc-bis | nl ~/Essai-text-processing/bashrc-bis | ||
- | </code user> | + | </code> |
- | <code> | + | <file config retour de la commande> |
- | 1 # ~/.bashrc: executed by bash(1) for non-login shells. | + | 1 # ~/.bashrc: executed by bash(1) for non-login shells. |
- | 2 # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) | + | 2 # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) |
- | 3 # for examples | + | 3 # for examples |
- | | + | |
- | 4 # If not running interactively, don't do anything | + | 4 # If not running interactively, don't do anything |
- | 5 case $- in | + | 5 case $- in |
- | 6 *i*) ;; | + | 6 *i*) ;; |
- | 7 *) return;; | + | 7 *) return;; |
- | 8 esac | + | 8 esac |
- | + | </file> | |
- | </code> | + | |
>Premières lignes du retour | >Premières lignes du retour | ||
Ligne 155: | Ligne 153: | ||
fmt -w 65 ~/Essai-text-processing/bashrc-bis | nl ~/Essai-text-processing/bashrc-bis | less | fmt -w 65 ~/Essai-text-processing/bashrc-bis | nl ~/Essai-text-processing/bashrc-bis | less | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
1 # ~/.bashrc: executed by bash(1) for non-login shells. | 1 # ~/.bashrc: executed by bash(1) for non-login shells. | ||
2 # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) | 2 # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) | ||
Ligne 166: | Ligne 164: | ||
8 esac | 8 esac | ||
- | </code> | + | </file> |
>Premières lignes du retour | >Premières lignes du retour | ||
<note> | <note> | ||
- | Par défaut la commande nl numérote les lignes non-vides.\ | + | Par défaut la commande nl numérote les lignes non-vides. |
* Quelques options :\\ | * Quelques options :\\ | ||
- -b : numérotation des lignes vides | - -b : numérotation des lignes vides | ||
Ligne 182: | Ligne 180: | ||
=====La commande join ===== | =====La commande join ===== | ||
===Syntaxe de la commande join === | ===Syntaxe de la commande join === | ||
- | <code user> | + | <code> |
join [options]... fichier1 fichier2 | join [options]... fichier1 fichier2 | ||
</code> | </code> | ||
Ligne 191: | Ligne 189: | ||
cat ~/Essai-text-processing/users | cat ~/Essai-text-processing/users | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
01 Toto | 01 Toto | ||
02 Titi | 02 Titi | ||
03 Lili | 03 Lili | ||
- | </code> | + | </file> |
<code user> | <code user> | ||
Ligne 201: | Ligne 199: | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
toto@gmail.com 01 | toto@gmail.com 01 | ||
titi@gmx.fr 02 | titi@gmx.fr 02 | ||
lili@hotmail.com 03 | lili@hotmail.com 03 | ||
- | </code> | + | </file> |
===Fusion de ces deux fichiers === | ===Fusion de ces deux fichiers === | ||
- | <code> | + | <code user> |
join -1 1 -2 2 ~/Essai-text-processing/users ~/Essai-text-processing/infos-users | join -1 1 -2 2 ~/Essai-text-processing/users ~/Essai-text-processing/infos-users | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
01 Toto toto@gmail.com | 01 Toto toto@gmail.com | ||
02 Titi titi@gmx.fr | 02 Titi titi@gmx.fr | ||
03 Lili lili@hotmail.com | 03 Lili lili@hotmail.com | ||
- | </code> | + | </file> |
* Explications : | * Explications : | ||
* l'option ''-1'' : donne le n° de colonne du champ commun, pour le premier document | * l'option ''-1'' : donne le n° de colonne du champ commun, pour le premier document | ||
Ligne 229: | Ligne 227: | ||
<note> | <note> | ||
Pour fusionner des fichiers qui ont en commun '':''\\ | Pour fusionner des fichiers qui ont en commun '':''\\ | ||
+ | |||
''join -t':' -2 1 -2 2 fichier1 fichier2'' | ''join -t':' -2 1 -2 2 fichier1 fichier2'' | ||
</note> | </note> | ||
Ligne 241: | Ligne 240: | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
01 Toto toto@gmail.com | 01 Toto toto@gmail.com | ||
02 Titi titi@gmx.fr | 02 Titi titi@gmx.fr | ||
03 Lili lili@hotmail.com | 03 Lili lili@hotmail.com | ||
- | </code> | + | </file> |
=====La commande paste ===== | =====La commande paste ===== | ||
===Syntaxe de la commande paste === | ===Syntaxe de la commande paste === | ||
Ligne 257: | Ligne 256: | ||
cat ~/Essai-text-processing/users | cat ~/Essai-text-processing/users | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
01 Toto | 01 Toto | ||
02 Titi | 02 Titi | ||
03 Lili | 03 Lili | ||
- | </code> | + | </file> |
<code user> | <code user> | ||
cat ~/Essai-text-processing/infos-users | cat ~/Essai-text-processing/infos-users | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
toto@gmail.com 01 | toto@gmail.com 01 | ||
titi@gmx.fr 02 | titi@gmx.fr 02 | ||
lili@hotmail.com 03 | lili@hotmail.com 03 | ||
- | </code> | + | </file> |
===Regroupement des lignes des deux fichiers === | ===Regroupement des lignes des deux fichiers === | ||
Ligne 277: | Ligne 276: | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
01 Toto toto@gmail.com 01 | 01 Toto toto@gmail.com 01 | ||
02 Titi titi@gmx.fr 02 | 02 Titi titi@gmx.fr 02 | ||
03 Lili lili@hotmail.com 03 | 03 Lili lili@hotmail.com 03 | ||
- | </code> | + | </file> |
===Concaténation du retour dans un fichier "paste-users-infos" qui sera créé=== | ===Concaténation du retour dans un fichier "paste-users-infos" qui sera créé=== | ||
Ligne 289: | Ligne 288: | ||
=== Vérification === | === Vérification === | ||
- | <code user> | + | <file config retour de la commande> |
01 Toto toto@gmail.com 01 | 01 Toto toto@gmail.com 01 | ||
02 Titi titi@gmx.fr 02 | 02 Titi titi@gmx.fr 02 | ||
03 Lili lili@hotmail.com 03 | 03 Lili lili@hotmail.com 03 | ||
- | </code> | + | </file> |
- | ===== sort ===== | ||
- | ===Syntaxe=== | ||
- | |||
- | sort [options [+POS1] [-POS2]] [fichier...] | ||
- | |||
- | ===Préparation=== | ||
- | |||
- | Soit le fichier "~/Essai-text-processing/users.sort" | ||
- | <code user> | ||
- | cat ~/Essai-text-processing/users.sort | ||
- | </code> | ||
- | <code> | ||
- | 5 Papi | ||
- | 1 Toto | ||
- | 3 Lili | ||
- | 2 Titi | ||
- | 4 Mami | ||
- | 003 Zaza | ||
- | 01 Nani | ||
- | </code> | ||
- | === Tri par défaut=== | ||
- | <code user> | ||
- | sort ~/Essai-text-processing/users.sort | ||
- | </code> | ||
- | <code> | ||
- | 003 Zaza | ||
- | 01 Nani | ||
- | 1 Toto | ||
- | 2 Titi | ||
- | 3 Lili | ||
- | 4 Mami | ||
- | 5 Papi | ||
- | </code> | ||
- | |||
- | ===Tri alphabétique d'une simple colonne=== | ||
- | |||
- | <code user> | ||
- | cat ~/Essai-text-processing/sort.abc | ||
- | </code> | ||
- | <code> | ||
- | tomate | ||
- | fraise | ||
- | abricot | ||
- | ananas | ||
- | kiwi | ||
- | pomme | ||
- | </code> | ||
- | |||
- | <code user> | ||
- | sort ~/Essai-text-processing/sort.abc | ||
- | </code> | ||
- | <code> | ||
- | abricot | ||
- | ananas | ||
- | fraise | ||
- | kiwi | ||
- | pomme | ||
- | tomate | ||
- | </code> | ||
- | |||
- | ===Tri avec choix de colonne === | ||
- | <code user> | ||
- | cat ~/Essai-text-processing/sort.abc | ||
- | </code> | ||
- | <code> | ||
- | tomate:4 | ||
- | fraise:1 | ||
- | abricot:2 | ||
- | ananas:6 | ||
- | kiwi:5 | ||
- | pomme:3 | ||
- | </code> | ||
- | |||
- | <code user> | ||
- | sort -t':' -k 2n ~/Essai-text-processing/sort.abc | ||
- | fraise:1 | ||
- | abricot:2 | ||
- | pomme:3 | ||
- | tomate:4 | ||
- | kiwi:5 | ||
- | ananas:6 | ||
- | </code> | ||
- | |||
- | <note tip> | ||
- | Les options utiles: | ||
- | * ''-t'' : pour spécifier le séparateur (par défaut ce sont les espaces ou les tabulations qui délimitent les colonnes) | ||
- | * ''-k'' : pour spécifier la colonne | ||
- | * ''-2'' : n° de colonne | ||
- | * ''-n'' : pour spécifier qu'il s'agit d'un tri numérique | ||
- | * ''-d'' : pour tri dictionnaire | ||
- | * ''-r'' : pour un tri inverse (-rn ou -rd) | ||
- | * ''-M'' : ordre chronologique | ||
- | </note> | ||
- | ===Tri selon plusieurs colonnes === | ||
- | <code user> | ||
- | cat ~/Essai-text-processing/sort.123abc | ||
- | </code> | ||
- | <code> | ||
- | tomate:x:c | ||
- | fraise:1 | ||
- | abricot:2 | ||
- | ananas:x:b | ||
- | kiwi:x:a | ||
- | pomme:3 | ||
- | </code> | ||
- | |||
- | <code user> | ||
- | sort -t':' -k 2n -k 3d ~/Essai-text-processing/sort.123abc | ||
- | </code> | ||
- | <code> | ||
- | kiwi:x:a | ||
- | ananas:x:b | ||
- | tomate:x:c | ||
- | fraise:1 | ||
- | abricot:2 | ||
- | pomme:3 | ||
- | </code> | ||
- | |||
- | === Concaténer et créer un fichier avec la résultat=== | ||
- | <code user> | ||
- | sort -t':' -k 2n -k 3d ~/Essai-text-processing/sort.123abc > ~/Essai-text-processing/sort.123abc.ok | ||
- | </code> | ||
- | |||
- | ===Vérifier === | ||
- | |||
- | <code user> | ||
- | cat ~/Essai-text-processing/sort.123abc.okkiwi:x:a | ||
- | </code> | ||
- | <code> | ||
- | ananas:x:b | ||
- | tomate:x:c | ||
- | fraise:1 | ||
- | abricot:2 | ||
- | pomme:3 | ||
- | </code> | ||
=====la commande tr ===== | =====la commande tr ===== | ||
Ligne 441: | Ligne 305: | ||
cat ~/Essai-text-processing/tr-essai | cat ~/Essai-text-processing/tr-essai | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
Pierre Paul Jacques | Pierre Paul Jacques | ||
- | </code> | + | </file> |
<code user> | <code user> | ||
tr P p < ~/Essai-text-processing/tr-essai | tr P p < ~/Essai-text-processing/tr-essai | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
pierre paul Jacques | pierre paul Jacques | ||
- | </code> | + | </file> |
<code user> | <code user> | ||
cat ~/Essai-text-processing/tr-essai | cat ~/Essai-text-processing/tr-essai | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
Pierre Paul Jacques | Pierre Paul Jacques | ||
- | </code> | + | </file> |
<code user> | <code user> | ||
tr P X < ~/Essai-text-processing/tr-essai | tr P X < ~/Essai-text-processing/tr-essai | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
Xierre Xaul Jacques | Xierre Xaul Jacques | ||
- | </code> | + | </file> |
<code user> | <code user> | ||
cat ~/Essai-text-processing/tr-essai | cat ~/Essai-text-processing/tr-essai | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
Pierre Paul Jacques | Pierre Paul Jacques | ||
- | </code> | + | </file> |
<code user> | <code user> | ||
tr PJ pj < ~/Essai-text-processing/tr-essai | tr PJ pj < ~/Essai-text-processing/tr-essai | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
pierre paul jacques | pierre paul jacques | ||
- | </code> | + | </file> |
Ligne 492: | Ligne 356: | ||
cat ~/Essai-text-processing/users-uniq | cat ~/Essai-text-processing/users-uniq | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
Papi | Papi | ||
1 Toto | 1 Toto | ||
Ligne 500: | Ligne 364: | ||
003 Zaza | 003 Zaza | ||
01 Nani | 01 Nani | ||
- | </code> | + | </file> |
===Ajouter une ligne=== | ===Ajouter une ligne=== | ||
<code user> | <code user> | ||
Ligne 510: | Ligne 374: | ||
cat ~/Essai-text-processing/users-uniq | cat ~/Essai-text-processing/users-uniq | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
5 Papi | 5 Papi | ||
1 Toto | 1 Toto | ||
Ligne 519: | Ligne 383: | ||
01 Nani | 01 Nani | ||
01 Nani | 01 Nani | ||
- | </code> | + | </file> |
<note> | <note> | ||
Il faut que les doublons soient consécutifs, et que le fichier soit "trié" | Il faut que les doublons soient consécutifs, et que le fichier soit "trié" | ||
Ligne 530: | Ligne 394: | ||
cat ~/Essai-text-processing/users-sort-uniq | cat ~/Essai-text-processing/users-sort-uniq | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
003 Zaza | 003 Zaza | ||
01 Nani | 01 Nani | ||
Ligne 538: | Ligne 402: | ||
4 Mami | 4 Mami | ||
5 Papi | 5 Papi | ||
- | </code> | + | </file> |
=====La commande split ===== | =====La commande split ===== | ||
Ligne 561: | Ligne 425: | ||
cat ~/Essai-text-processing/liste-fruits | cat ~/Essai-text-processing/liste-fruits | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
1 fraise | 1 fraise | ||
2 abricot | 2 abricot | ||
3 pomme | 3 pomme | ||
- | </code> | + | </file> |
====Découpage par taille et répartition en autant de fichiers ==== | ====Découpage par taille et répartition en autant de fichiers ==== | ||
<note> | <note> | ||
Ligne 596: | Ligne 460: | ||
ls fruit1b* | ls fruit1b* | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
fruit1baa | fruit1baa | ||
- | </code> | + | </file> |
>Un seul fichier a été créé. | >Un seul fichier a été créé. | ||
Ligne 605: | Ligne 469: | ||
cat fruit1b* | cat fruit1b* | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
1 fraise | 1 fraise | ||
2 abricot | 2 abricot | ||
3 pomme | 3 pomme | ||
- | </code> | + | </file> |
>Le fichier est créé dans le répertoire dans lequel le terminal est ouvert.\\ | >Le fichier est créé dans le répertoire dans lequel le terminal est ouvert.\\ | ||
Ligne 617: | Ligne 481: | ||
split -C 1b ~/Essai-text-processing/liste-fruits fruit1b && mv fruit1b* ~/Essai-text-processing/ | split -C 1b ~/Essai-text-processing/liste-fruits fruit1b && mv fruit1b* ~/Essai-text-processing/ | ||
</code> | </code> | ||
- | <code> | + | <code user> |
ls ~/Essai-text-processing/fruit1b* | ls ~/Essai-text-processing/fruit1b* | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
/home/hypathie/Essai-text-processing/fruit1baa | /home/hypathie/Essai-text-processing/fruit1baa | ||
- | </code> | + | </file> |
* Ou encore : | * Ou encore : | ||
<code user> | <code user> | ||
Ligne 633: | Ligne 497: | ||
ls fruit1b* | ls fruit1b* | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
fruit1baa | fruit1baa | ||
- | </code> | + | </file> |
====Découpage par ligne ==== | ====Découpage par ligne ==== | ||
Ligne 655: | Ligne 519: | ||
ls x* | ls x* | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
xaa xab xac | xaa xab xac | ||
- | </code> | + | </file> |
<code user> | <code user> | ||
cat x* | cat x* | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
1 fraise | 1 fraise | ||
2 abricot | 2 abricot | ||
3 pomme | 3 pomme | ||
- | </code> | + | </file> |
=====La commande unexpand ===== | =====La commande unexpand ===== | ||
Ligne 692: | Ligne 556: | ||
===Affichage avec cat : ce sont des espaces === | ===Affichage avec cat : ce sont des espaces === | ||
<code user> | <code user> | ||
- | cat ~/Essai-text-processing/users-infos-espaces | + | cat ~/Essai-text-processing/users-infos-espaces</code> |
- | # Retour : | + | <file config retour de la commande> |
01 Toto toto@gmx.fr modo | 01 Toto toto@gmx.fr modo | ||
02 Titi titi@gmail.com membre | 02 Titi titi@gmail.com membre | ||
- | 03 Lili lili@hotmail.com membre | + | 03 Lili lili@hotmail.com membre</file> |
- | </code> | + | |
===Conversion des espaces en tabulation === | ===Conversion des espaces en tabulation === | ||
<code user> | <code user> | ||
unexpand -a ~/Essai-text-processing/users-infos-espaces | unexpand -a ~/Essai-text-processing/users-infos-espaces | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
01 Toto toto@gmx.fr modo | 01 Toto toto@gmx.fr modo | ||
02 Titi titi@gmail.com membre | 02 Titi titi@gmail.com membre | ||
03 Lili lili@hotmail.com membre | 03 Lili lili@hotmail.com membre | ||
- | </code> | + | </file> |
<note> | <note> | ||
- | * Option ''-a'' pour que la conversion des espaces ait lieu partout et pas seulement pour les espaces constituants la première colonnes de droite. | + | * Option ''-a'' pour que la conversion des espaces ait lieu partout et pas seulement pour les espaces constituant la première colonne de droite. |
* Les groupes de moins de sept espaces consécutifs n'ont pas été convertis en tabulation. | * Les groupes de moins de sept espaces consécutifs n'ont pas été convertis en tabulation. | ||
</note> | </note> | ||
Ligne 728: | Ligne 592: | ||
<code user> | <code user> | ||
- | cat ~/Essai-text-processing/users-infos-tabul | + | cat ~/Essai-text-processing/users-infos-tabul</code> |
- | # Retour : | + | <file config retour de la commande> |
01 Toto toto@gmx.fr modo | 01 Toto toto@gmx.fr modo | ||
02 Titi titi@gmail.com membre | 02 Titi titi@gmail.com membre | ||
03 Lili lili@hotmail.com membre | 03 Lili lili@hotmail.com membre | ||
- | </code> | + | </file> |
====Convertion des tabulations en espaces==== | ====Convertion des tabulations en espaces==== | ||
<code user> | <code user> | ||
- | expand ~/Essai-text-processing/users-infos-tabul | + | expand ~/Essai-text-processing/users-infos-tabul</code> |
- | # Retour : | + | <file config retour de la commande> |
01 Toto toto@gmx.fr modo | 01 Toto toto@gmx.fr modo | ||
02 Titi titi@gmail.com membre | 02 Titi titi@gmail.com membre | ||
03 Lili lili@hotmail.com membre | 03 Lili lili@hotmail.com membre | ||
- | </code> | + | </file> |
==== Déterminer le nombre d'espaces qui remplaceront chaque tabulation==== | ==== Déterminer le nombre d'espaces qui remplaceront chaque tabulation==== | ||
* option ''-t'' nombre | * option ''-t'' nombre | ||
<code user> | <code user> | ||
- | expand -t 1 ~/Essai-text-processing/users-infos-tabul | + | expand -t 1 ~/Essai-text-processing/users-infos-tabul</code> |
- | # Retour : | + | <file config retour de la commande> |
01 Toto toto@gmx.fr modo | 01 Toto toto@gmx.fr modo | ||
02 Titi titi@gmail.com membre | 02 Titi titi@gmail.com membre | ||
03 Lili lili@hotmail.com membre | 03 Lili lili@hotmail.com membre | ||
- | </code> | + | </file> |
====Aller plus loin avec les commandes expand et unexpand ==== | ====Aller plus loin avec les commandes expand et unexpand ==== | ||
Voir : [[doc:systeme:expand |expand]] | Voir : [[doc:systeme:expand |expand]] | ||