MP2L
Cours GNU/Linux
Chapitre 6 : Editeurs de texte -
documentation et commandes avancées
sous GNU/Linux
I. Les éditeurs de texte sous GNI/Linux
1. Introduction
Les éditeurs en mode texte ont été pendant longtemps la seule façon d'éditer
un texte sous GNU/Linux. Aujourd'hui aussi, il peut être nécessaire de pas-
ser par un éditeur de texte en mode texte pour configurer le système d'affi-
chage graphique "X Window". L'éditeur "vi" est un éditeur clavier pur et
dur.
L'édition des fichiers
GNU/Linux permet de distinguer les "visualisateurs " de fichiers (afficheur de contenu
pour la consultation), des éditeurs de fichiers en texte brut (pour la modification sans
mise en page), des formateurs de texte qui permettent de mettre en forme un texte, des
filtres et des traitements de texte qui sont plus sophistiqués.
Les éditeurs de texte brut
Les éditeurs de texte permettent de lire et de modifier les fichiers systèmes et les fi-
chiers de configuration, sous la forme de "texte brut". Les éditeurs de texte ne per-
mettent pas de faire de la mise en page, ils ne disposent ni de gras, ni d'italique, ni de
souligné, ni de retour à la ligne automatique (il faut appuyer sur la touche ENTREE
pour effectuer une "fin de ligne").
Les éditeurs de texte présentent leur propre "prompt " à partir duquel il est possible de
saisir les commandes spécifiques à l'éditeur de texte.
Certains éditeurs de texte proposent plusieurs modes, le mode de commande et le
mode de saisie.
Des fichiers de configuration peuvent être placés dans le répertoire de base de l'utilisa-
teur afin de personnaliser chaque éditeur de texte.
Il existe de nombreux éditeurs de texte:
• ed
•
joe
• vi (visual)
• vim (vi improve)
Yahia SLIMANI/Habib SMEI
- Page 1 -
MP2L
Cours GNU/Linux
• pico
• emacs (editor macros)
Les deux principaux éditeurs de texte en mode console sont les suivant:
• L'éditeur "vi" est le premier éditeur "plein écran" d'Unix. "vi" est rapide mais difficile.
L'éditeur "vi" fonctionne dans plusieurs "modes". La version améliorée pour
GNU/Linux " vim" facilite son apprentissage.
• Le mode commande auquel l'utilisateur revient en pressant sur la touche
ECHAP.
• Le mode insertion dans lequel l'utilisateur entre en pressant sur la touche "i".
• L'éditeur "GNU Emacs" est un éditeur amodale , il est plus facile d'emploi, plus
facile à assimiler, mais requière plus de manipulation que "vi" pour une même
opération. L'éditeur "xemacs" fonctionne sous l'interface graphique X Window.
2. Cas de l'éditeur VI
a.
Présentation
Vi ("Vi-aille") est un éditeur de texte qui ne paye pas de mine au premier abord mais qui est
pourtant très puissant.
Les nombreuses commandes présentées ici ne sont qu'un modeste aperçu de sa complexité
Il est de plus installé par défaut sur toutes les distributions Linux et sur tous les Unix. Il y existe
une version Windows ! En fait, la plupart du temps, il ne s'agit pas de Vi mais de Vim (Vi im-
proved), une version améliorée de l'antique vi.
Son concurrent s'appelle Emacs, il est encore plus puissant mais de prise en main plus difficile.
Vi dispose de 3 modes: le mode commande (touche Esc) dans lequel on peut taper ... des com-
mandes, le mode insertion (touche i) pour l'édition de texte et le mode visual, touche v, pour
agir sur des sélections (moins utile).
b. Le mode commande
Déplacement
Dans la plupart des cas, on peut faire précéder la commande d'un nombre, qui sera le nombre
de fois où l'action sera répétée.
Les touches fléchées ou, mieux, h (gauche), j (bas), k (haut), and l (droite).
w (word) pour aller de mot en mot.
Par exemple 3w pour se déplacer de 3 mots en avant
b est l'inverse de w, utile pour se déplacer d'un mot en arrière
) pour se déplacer à la phrase suivante, ( pour aller à la suivante.
} pour aller au paragraphe suivant, { pour le précédent
$ pour aller à la fin de la ligne (ou touche "Fin")
0 ou ^ pour revenir au début de la ligne (ou touche "Début" au-dessus de la touche "Fin")
f+lettre positionnera le curseur sur la lettre voulue de la ligne en cours
F+lettre fait la même chose mais vers la gauche
Yahia SLIMANI/Habib SMEI
- Page 2 -
MP2L
Cours GNU/Linux
3G positionne le curseur sur la ligne 3 (pareil avec :3)
Pour afficher les numéros de ligne, tapez la commande :set number (:set nonumber pour
annuler)
Ctrl+u monte d'un demi-écran, Ctrl+d descend d'un demi-écran
Effacer du texte
x efface un caractère
dd efface la ligne courante, dw efface un mot, d3w efface 3 mots (à noter que 3dw revient au
même), d$ ou D efface la fin de la ligne, d0 efface le début.
Modifier du texte
c (change) efface et se met en mode insertion
Par exemple, cfh efface jusqu'à la lettre h et se met en mode insertion.
r remplace la lettre sous le curseur par la prochaine lettre tapée.
R pour en remplacer plusieurs
~ change la casse, passe la minuscule en majuscule et vice-versa
o insère une nouvelle ligne
J permet de joindre 2 lignes
Recherche
/mot va se placer sur la prochaine occurence de "mot", taper n ou / pour aller au suivant, ? ou N
pour aller au précédent.
Publicité
Vi conserve en mémoire les différentes recherches. Taper / puis flèche haut ou bas pour faire
défiler l'historique.
On peut donc faire d/arbre pour effacer le texte jusqu'au mot arbre !
Recherche d'un motif:
/bo.te* cherche boite, boîte, boiter etc...
/bo[iî]te cherche boite ou boîte
Remplacer
:%s/bo[iî]te/récipient/g remplace toutes les occurences boite ou boîte par récipient dans tout le
document
g pour remplacer toutes les occurences d'une ligne
% (équivalent de 1,$) pour remplacer sur toutes les lignes
Couper-coller
Quand on efface un texte, celui-ci est automatiquement mémorisé. Pour le déplacer, il suffit de
taper p à l'endroit où on veut voir coller ce texte.
Copier-coller
Copier se fait avec la commande y (yank). yy copie une ligne, yw copie un mot, etc ...
Yahia SLIMANI/Habib SMEI
- Page 3 -
MP2L
Cours GNU/Linux
Autres commandes utiles
pour sauvegarder et quitter, taper ZZ
pour sauver :w
pour quitter :q (:q! pour quitter sans sauver)
u undo, annule la dernière action
Ctrl+r pour refaire une action annulée
Insérer plusieurs fois un caractère: 30i[Esc] insèrera *
. répète la dernière commande
:e! réouvre le fichier tel qu'il était à la dernière sauvegarde. Ca permet d'annuler toutes les
modifications depuis la dernière sauvegarde.
Raccourcis: Il est possible de définir des raccourcis. Par exemple, en tapant "M81", on veut
qu'il apparaisse "galaxie d'Andromède". :ab M81 galaxie d'Andromède.
Pour voir la liste des raccourcis, :ab, pour enlever le raccourci M81, :unab M81
Dans le même genre, la complétion automatique de mots: il suffit de taper le début d'un mot
puis Ctrl+p et vi le complète automatiquement par rapport au précédent mot commençant par
les mêmes lettres.
>> pour décaler le texte vers la droite, << vers la gauche
Petit raffinement: vi http://www.monsite.fr ouvrira en édition la page internet monsite.fr !
On peut passer des commandes shell tout en restant sous Vi :!ls nous affichera la liste des
fichiers du répertoire courant.
Autre truc intéressant: pour insérer le texte d'un autre fichier dans le fichier en cours, faire :r
nomdufichier
Et un :r!ls insèrera la liste des fichiers dans le fichier en cours !
:5,10ce 80 centre les lignes 5 à 10 sur 80 colonnes
:right pour aligner à droite et :left pour aligner à gauche
Travailler sur plusieurs fichiers en même temps
:10 split nomdufichier ouvre un écran de 10 lignes avec le fichier en argument.
:new ouvre une fenêtre vide
Ctrl+ww pour changer de fenêtre.
Pour modifier la taille d'une fenêtre, Ctrl+w- la diminue d'une ligne et Ctrl+w+ l'aggrandit.
:q pour fermer une fenêtre
Ou ouvrir simultanément tous les scripts bash par exemple, vi *.sh puis n pour aller au suivant
et N au précédent
Yahia SLIMANI/Habib SMEI
- Page 4 -
MP2L
Cours GNU/Linux
II. La documentation sous GNI/Linux
1. Introduction :
La documentation permet à d'autres personnes d' utiliser les fonctions ou librairies crées de
façon adéquate.
Mais écrire une documentation n'est pas suffisant :
•
•
la documentation doit être accessible. Si elle est cachée à un endroit non standard où les
outils de recherche relatifs à la documentation ne la trouveront pas, comment peut-elle
remplir son rôle ?
la documentation doit être fiable et précise. Il n'y a rien de plus irritant qu'un
programme se comportant différemment de ce qui est écrit dans sa documentation.
La méthode traditionnelle pour accéder à la documentation sous GNU/Linux fait appel à la
commande man(1). Dans ce qui suit, on va décrire ce qu'on doit faire pour écrire une page de
manuel qui sera correctement traitée par les outils prévus à cet effet, dont les plus importants
sont man(1), xman(1x), apropos(1), makewhatis(8) et catman(8).
2. Les pages de manuel
Les pages de manuel représentent la source d'informations la plus utilisée lors de l'administra-
tion d'un système GNU/Linux. La commande qui permet de consulter et de rechercher les
pages de manuel est la commande man.
a. Commandes whatis et apropos
$ whatis nom_de_la_commande
La commande whatis s'utilise afin de savoir ce que fait une commande.
La base de données whatis est une indexation de toutes les pages de manuel. Elle contient une
courte description de la commande et la page de manuel correspondante. La commande whatis
permet d'interroger cette base de données (aussi la commande man avec l'option -f).
Exemples :
$ whatis cpio
$ man -f cpio
$ whatis info
info(1) - read Info documents
info(5) - readable online documentation
$ whatis *
Cette commande affichera les informations sur les exécutables du répertoire courant.
Yahia SLIMANI/Habib SMEI
- Page 5 -
MP2L
Cours GNU/Linux
La commande apropos va rechercher le texte demandé dans toutes les commandes et les
exécutables de la base de données qui sert à la commande whatis
$ apropos texte_recherché
N.B : La principale différence entre les deux commandes apropos (man -k) effectue la re-
cherche dans la page de manuel et dans sa description alors que whatis (man -f) ne fait la re-
cherche que dans la page de manuel.
Publicité
b. Commandes which et, whereis
which
$ which nom_du_fichier
Cette commande va afficher le chemin d'accès complet pour le fichier recherché. Par exemple
l'emploi de cette commande peut aider à déterminer si on est entrain d'utiliser le bon
exécutable.
whereis
$ whereis nom_du_fichier
Cette commande va trouver le chemin d'accès complet qui mènera au fichier recherché. La
réponse se présentera ainsi : chemin d'accès au fichier,chemin d'accès au binaire, chemin
d'accès aux pages de manuel concernées.
On peut donc rechercher où se trouve une commande pour pouvoir l'utiliser.
$ whereis shutdown
Cette ligne va donner comme réponse :
/sbin/shutdown /usr/share/man/man8/shutdown.8.gz /usr/share/man/man2/shutdown.2.gz
Cela permettra d'utiliser :
$ /sbin/shutdown -r now
Le page de manuel sont divisées en plusieurs sections. Chaque page de manuel appartient à une
section spécifique, dénotée par un simple chiffre. Les sections les plus courantes rencontrées
sous GNU/Linux sont :
• 1 : Commandes utilisateurs pouvant être exécutées par tout le monde ;
• 2 : Appels (fonctions) systèmes, c'est-à-dire les fonctions fournies par le noyau ;
• 3 : Appels (fonctions) des bibliothèques ;
• 4 : Périphériques, c'est-à-dire les fichiers spéciaux que l'on trouve dans le
répertoire /dev ;
• 5 : Descriptions des fichiers de configuration (comme par exemple /etc/passwd, /
etc/group, ...) ;
• 6 : Les jeux ;
Yahia SLIMANI/Habib SMEI
- Page 6 -
MP2L
Cours GNU/Linux
• 7 : Divers (macros, conventions particulières, …) ;
• 8 : Outils et commandes d'administration exécutables uniquement par le super
utilisateur ;
• 9 : Un autre endroit (spécifique à GNU/Linux) destiné à la documentation des services
offerts par le noyau ;
Pour ouvrir la page de manuel d'une section donnée, il suffit de donner le numéro de cette
section comme argument de la commande man.
Exemple :
$ man 2 mkdir
La variable d'environnement MANPATH indique le(s) chemin(s) de recherche de
l'arborescence du manuel.
3. Les pages info :
La plupart des pages au format info sont réécrites en pages de manuel. Ils en restent tout de
même pour certaines commandes qui sont plus détaillées dans leurs version en format info.
Les pages info se trouvent sous /usr/share/info et sont interrogeables par la commande info
<nom de la commande>
Par cette commande info on accède à des pages d'informations GNU.
Ce format d'aide permet de naviguer dans le système d'aide par l'intermédiaire de liens
hypertextes, organisés de façon hiérarchique avec des chapitres et des sous chapitres.
Les menus se signalent par des * en début de ligne.
On utilise le clavier pour naviguer dans ces pages d'informations :
la touche tabulation permet de passer au lien suivant.
la touche n (next) permet de passer au chapitre suivant
la touche p (previous) permet de revenir au chapitre précédent
la touche u (up) permet de remonter d'un niveau dans le système d'aide et d'atteindre le menu
du chapitre en cours.
la touche q (quit) permet de quitter ce système d'aide.
La meilleure manière d'apprendre à se servir de cette commande est de taper :
$ info info
which, whereis et locate
which
$ which nom_du_fichier
Cette commande va afficher le chemin d'accès complet pour le fichier recherché. Par exemple
Yahia SLIMANI/Habib SMEI
- Page 7 -
MP2L
Cours GNU/Linux
l'emploi de cette commande peut aider à déterminer si on est entrain d'utiliser le bon
exécutable.
whereis
$ whereis nom_du_fichier
Cette commande va trouver le chemin d'accès complet qui mènera au fichier recherché. La
réponse se présentera ainsi : chemin d'accès au fichier,chemin d'accès au binaire, chemin
d'accès aux pages de manuel concernées.
On peut donc rechercher où se trouve une commande pour pouvoir l'utiliser.
$ whereis shutdown
Cette ligne va donner comme réponse :
/sbin/shutdown /usr/share/man/man8/shutdown.8.gz /usr/share/man/man2/shutdown.2.gz
Cela permettra d'utiliser :
$ /sbin/shutdown -r now
locate
$ locate chaine_de_caractères_recherchés
La commande locate permet d'afficher tous les chemins d'accès où la chaine de caractères à
rechercher entrée est présente.
4. Les documents en lignes :
Un grand nombre de documents dans différents formats sont disponibles en ligne. Il s'agit des
documents de type README, FAQ, CHANGELOG, etc.
Ces documents (ou la plupart d'entre eux) sont disponibles aussi sous /usr/share/doc.
Une autre source très utile de documents en ligne sont le HOWTO. Ces documents sont
maintenus par le projet LDP (Linux Documentation Project) et sont disponible sur le site http://
www.tldp.org.
Il existe de mini-HOWTOs qui sont plus courts et moins détaillés mais toujours très utiles.
Pour configurer son modem, l'interface graphique, un périphérique, une application etc..., on
regarde dans le HOWTO correspondant.
Le format des HOWTOs est variable, on trouve du Postscript, Sgml, Html, dvi, texte.
Où trouver des documentations HOWTOs :
• ftp.lip6.fr (/pub/linux/french/docs/HOWTO
• http://www.freenix.org/unix/linux/HOWTO/
• sunsite.unc.edu (/pub/Linux/docs/HOWTO/translations/fr
Publicité
D'autres sources d'informations sont disponibles en ligne comme les newsgroups :
#comp.os.linux-answers
Yahia SLIMANI/Habib SMEI
- Page 8 -
MP2L
Cours GNU/Linux
#comp.os.linux.development.system
#comp.os.linux.hardware
#comp.os.linux.misc
#comp.os.linux.setup
#comp.os.linux.x
#alt.os.linux
5. Notification des utilisateurs :
Il est possible de faire passer de l'information aux utilisateurs qui se connectent sur un système
en utilisant les fichiers suivants :
•
•
/etc/issue.net (ou /etc/issue) : affiche des informations avant l'invite login lors d'une
session telnet. On peut afficher des informations comme nom de la machine, la date, un
message, etc ;
/etc/motd : est une abréviation de message of the day qui permet d'afficher de
l'information une foid que les personnes se sont connectées au système juste avant de
lancer le shell de connexion.
Commandes avancées sous GNI/Linux
La commande find :
La commande find sert à parcourir l’arborescence des répertoires à la recherche des fichier
satisfaisant des critères de recherche. Le parcours des répertoires et de leurs sous
répertoires se fait d’une manière récursive.
Pour effectuer une recherche avec find, il faudrait spécifier :
• Le répertoire de recherche,
• Les critères de recherche à mettre en œuvre,
• L’action à entreprendre sur le fichier trouvé.
Syntaxe : find <chemin_de_recherche> [<critère de sélection>] [<action>]
Signification
critère
Si la recherche aboutit à un fichier correspondant aux critères, il sera traité par les actions
Recherche par nom de fichier
-name <fichier>
de la commande dont on distingue : -print, -exec et -ok.
Recherche par type de fichiers
-type <type>
Les critères de sélection sont :
-user <nom>
Recherche par utilisateur propriétaire
-group <nom>
Recherche par groupe propriétaire
-size <nbre>
Recherche par taille
-atime <jour>
Recherche par date du dernier accès
-mtime <jour>
Recherche par date de la dernière modification
-ctime <jour>
Recherche par date de création
Yahia SLIMANI/Habib SMEI
-perm <droits>
Recherche par droits d’accès
- Page 9 -
-links <nbre>
Recherche par nombre de liens
MP2L
Cours GNU/Linux
Pour les options autre que -name, -type -user, -group les noms d’options sont complétés par des
valeurs. Ces valeurs peuvent être précédées des signes +/- signifiant :
+ : supérieur à (>) ; - : inférieur à (<)
Pour les actions : l’action -print exprime que le nom du fichier trouvé sera affiché.
l’action -exec précède une commande qui sera exécutée si un fichier répondant aux critères est
trouvé.
Remarques :
La commande après -exec ou ok sera suivie de « \ ; »
Si on veut référencer dans l’action –exec ou ok, le fichier trouvé, on utilise {}
({} le nom du fichier courant, en cours d’examen)
Exemple :
Si l’on veut afficher toutes les caractéristiques des fichiers appartenant à l’utilisateur user1, la
commande à lancer serait : find -user user1 -exec ls -l {} \
l’option -ok est semblable à -exec , la différence consiste à ce que la commande après -ok ne
sera exécutée qu’après confirmation de la part de l’utilisateur.
Exemples :
Afficher tous les fichiers qui commencent par une minuscule ou dont le nom se termine par «r»
find . \( -name "[a-z] " -o -name "r " \) -print
Afficher tous les répertoires dont le nom commence par « i »
find . \( -type d -a -name " i*" \) -print
La commande grep :
La commande grep (general regular expression parser) permet de rechercher, et selon les
options utilisées, dans un fichier les lignes contenant un motif satisfaisant une expression
régulière donnée (voir le chapitre V). Chaque ligne trouvée sera affichée sur la sortie
standard.
Syntaxe: $ grep [–option] expression_reguliere [fich_reg …]
Yahia SLIMANI/Habib SMEI
- Page 10 -
MP2L
Cours GNU/Linux
Les principales options sont les suivantes:
-c (count) seul le nombre de lignes satisfaisant l'expression régulière est affiché.
-i (insensitive case) ne pas considérer la casse.
-l seuls les noms de fichiers contenant l'expression régulière sont affichés.
-n (number) pour chaque ligne trouvée, afficher également son numéro dans le fichier.
-v seules les lignes ne contenant pas le motif sont affichées.
-w seules les lignes contenant le motif exact sont affichées.
La commande sort :
La commande sort permet de trier les lignes d'un ou de plusieurs fichiers et affiche le résultat
Publicité
sur la sortie standard à moins que l'option –o ne soit utilisée.
Syntaxe: $ sort [–option ] [ref …] [–o ref_sortie]
–d : ignorer les caractères autres que les: lettres, chiffres, espaces et tabulations.
–f : les lettres minuscules et majuscules sont considérées comme identiques.
–i : ignorer les caractères non imprimables.
–n : comparer suivant la valeur arithmétique d'une chaîne numérique initiale
composée éventuellement d'espaces suivis optionnellement du signe – et de zéro
ou plusieurs chiffres avec éventuellement un point décimal suivi de zéro ou de
plusieurs chiffres.
–r : inverser l'ordre de tri. Les lignes ayant la plus grande valeur de clé apparaissent
en premier.
La commande split :
La commande split permet de découper un fichier en différentes parties. Elle crée un ou
plusieurs fichiers (autant que nécessaire) contenant les sections consécutives du fichier
d'entrée.
Défaut : 1000 lignes du fichier d'entrée sont copiées dans chacun des fichiers de sortie.
préfixe = 'x '.
Syntaxe: $ split [–nombre] [Nomfichier] [prefixe]
La commande uniq
Elle permet d'éliminer les lignes dupliquées dans un fichier trié. Les options les plus courantes
sont:
–u : n'afficher que les lignes uniques
–d : n'afficher que les lignes dupliquées
–c : afficher le nombre d'occurrences de chaque ligne
La commande at
Cette commande permet de programmer l'exécution d'un ensemble de commandes à des dates
Yahia SLIMANI/Habib SMEI
- Page 11 -
MP2L
Cours GNU/Linux
ultérieures. La lecture sera faite soit depuis l'entrée standard ou depuis un fichier en
s'appuyant sur /bin/sh.
Syntaxe:
$ at [–f ref_fichier] [–m] arg_temps + [arg_date] [ + arg_incr]
$ at –l [numéro_travail … ]
$ at –r numéro_travail …
L'option –f indique que les commandes à exécuter sont lues à partir de ref_fichier.
L'option –m indique qu'un courrier sera envoyé à l'utilisateur à la fin d'exécution différée des
commandes
Le paramètre arg_temps peut avoir les formes suivantes : h,
hh, hhmm, h:mm, hh:m, hh:mm. Les heures étant comptées de
0 à 23. Il est possible d'utiliser des heures symboliques: ‘noon’,
‘midnight’ et ‘now’.
Le paramètre arg_date est constitué d'un mois et d'un jour. Les
valeurs ‘today’ et ‘tomorrow’ sont possibles.
Le paramètre arg_incr est un entier suivi d'une des constantes
suivantes: ‘minutes’, ‘hours’, ‘days’, ‘weeks’ ou ‘months’.
Avec le paramètre –l , la commande at affiche la liste des commandes
enregistrées.
Avec le paramètre –r , la commande at annule les commandes enregistrées dont les numéros
de travaux sont donnés comme paramètres.
La commande dd
Syntaxe : $ dd [argument …]
Cette commande permet de copier des fichiers après conversion du fichier d'origine.
Par défaut, le fichier source est lu à partir de l’entrée standard et le fichier
cible est la sortie standard. Une utilisation typique de cette commande, lorsqu’on
veut convertir un fichier codé EBCDIC en un fichier codé ASCII.
argument prend l'une des formes suivantes:
if=ref
référence du fichier d'origine (fichier source)
of=ref
référence du fichier cible (fichier destination)
ibs=nombre
taille du bloc en entrée en nombre d'octets (par défaut 512 octets)
obs=nombre taille du bloc en sortie en nombre d'octets (par défaut 512 octets)
conv=ascii conversion EBCDIC ASCII
conv=ebcdic conversion ASCII EBCDIC
conv=lcase
conversion des majuscules en minuscules
Yahia SLIMANI/Habib SMEI
- Page 12 -
MP2L
Cours GNU/Linux
conv=ucase
conversion des minuscules en majuscules
conv=swab
échange des paires de caractères successifs
La commande tr :
Syntaxe : $ tr [Option] [Ch1 [Ch2]]
La commande tr permet de transformer ou d’éliminer des caractères lus à partir de
l'entrée standard. Le résultat sera affiché sur la sortie standard. Les deux
paramètres Ch1 et Ch2 sont utilisés pour la substitution
ème
ème
Le i
caractère de la chaîne Ch1 est remplacé par le i
caractère de la chaîne Ch2.
Les options suivantes sont les plus utilisées:
–c : le complément de l'ensemble de caractères défini par Ch1 par rapport à tous les
caractères.
–d Ch1: l'ensemble de caractères de Ch1 sont tous à supprimer
–s : ne conserver qu'une occurrence (parmi plusieurs consécutives) de caractères de l'ensemble
défini par Ch1
Exemple
$ echo "Bienvenue sur notre système" ¦ tr 'A-Z' 'a-z'
Yahia SLIMANI/Habib SMEI
- Page 13 -