- &icone.solution;
Faites deux scripts qui vous disent bonjour en affichant votre login
(«Bonjour, toto») :
- Quand vous tapez saluer [votre-login]
- Quand vous tapez juste saluer
- &icone.solution;
Faire un script qui affiche la phrase : Le script [params] a [n]
paramètre(s), que voici : [paramètres], en remplaçant les mots entre
crochets par leur valeur; par exemple :
chaland ~ $ params bla ble bli blo blu
La commande params a 5 paramètre(s), que voici : bla ble bli blo blu
- &icone.solution;
Créez une commande qui, lorsqu'elle est appelée, renvoie le nombre
d'arguments qui lui ont été fournis, ainsi que le premier de ces
arguments.
- &icone.solution;
Vous voulez écrire un script qui vous dit combien de personnes sont loguées
sur une machine donnée; par exemple :
drakkar ~ $ combien galion
Il y a 5 personne(s) loguées sur galion en ce moment.
drakkar ~ $
- &icone.solution;
On veut remplacer
le suffixe .htm d'un ensemble de fichiers en
.html.
- &icone.solution;
Un ensemble de
noms de fichiers sont en majuscules. On veut tout basculer en minuscules.
- &icone.solution;
Créez un script indice qui affiche l'indice de son premier
argument dans la liste des arguments suivants. Par exemple,
indice toto tata titi toto tutu
renvoie l'indice de toto dans la liste tata titi toto
tutu, c'est-à-dire 3.
- &icone.solution;
On ne s'intéresse ici qu'à des fichiers contenant un mot par ligne. Écrire
un script qui compte le nombre de mots contenant une des lettres «r», «s»
ou «t», et parmi eux, ceux qui ont au moins deux telles lettres. On
donnera aussi le nombre de mots ne contenant aucune voyelle. Cela donnera
par exemple :
Dans ce fichier, vous avez :
45 mots contenant «r», «s» ou «t», et parmi eux,
12 contiennent deux de ces lettres au moins.
Il y a aussi 10 mots ne contenant aucune voyelle.
- &icone.solution;
On veut chercher toutes les occurences des quatre éléments (terre, air, eau,
feu) dans la première partie de Germinal.
On veut aussi que le résultat soit placé dans un fichier, et que le résultat
soit classé : toutes les lignes qui contiennent «air», puis toutes celles qui
contiennent «eau», etc.
- &icone.solution;
Chercher le mot «mine» dans les chapitres 3, 4 et 5 de la première partie de
Germinal, et obtenir un fichier dans lequel figure le nombre
d'occurences du mot dans les fichiers, avec le numéro des lignes.
- &icone.solution;
Créez un script coupe qui prend trois arguments, le premier étant
un nom de fichier et les deux autres des entiers l et l',
et qui affiche les lignes comprises entre l et l' dans le
fichier. Par exemple,
coupe fic 4 8
affichera les lignes 4 à 8 du fichier fic. Affichez des messages
en cas d'erreur (nombre de paramètres incorrect, fichier inexistant, etc).
- &icone.solution;
Pour transformer une arborescence en un seul fichier compressé, on utilise
l'instruction
tar zcvf nouveaunom fichiersaregrouper
Avant d'envoyer des fichiers tar, on utilise uuencode.
Écrivez une commande tarmail qui prend deux arguments, une
adresse et un nom de répertoire, et qui envoie par mail le contenu de
l'arborescence du répertoire précédée d'un message expliquant comment la
récupérer.
Note : pour récupérer un fichier uuencodé, on tape uudecode et
pour reconstruire l'arborescence, on utilise tar zxvf fichier.
- &icone.solution;
La commande suivante affiche le path complet de tous les fichiers finissant
par ~ (tilde) dans la sous-arborescence du répertoire
courant.
find . -name '*~'
Écrivez un script qui prend en argument un nom de répertoire et qui
détruit tous les fichiers :
- Finissant par ~;
- Commençant et finissant par un dièse;
- S'appelant core;
- S'appelant a.out.
- &icone.solution;
Écrire un script permettant d'appliquer divers filtres sur un fichier. Ce
script est lancé avec un argument, qui doit être un nom de fichier appelé
fichier de travail; dans le cas contraire, on affiche un message d'erreur.
On attend ensuite une commande en mode interactif, qui peut être :
- end : le programme s'arrête;
- cherche : le programme lit alors une ligne au clavier
contenant un motif et une autre contenant un nom de fichier, puis écrit
dans ce fichier les lignes du fichier de travail contenant le motif;
- tete oufin : le programme lit une ligne au clavier
contenant un entier n puis une ligne contenant un nom de fichier.
Il écrit ensuite les n premières (resp. dernières) lignes du
fichier de travail dans le fichier précisé;
- autre chose : message d'erreur.
Auteur : Anonyme, Joël Riou.