Unité libre: scripts sous unix/ TD No6
Objectifs du TD : find, entrées-sorties, analyse des
options d'un script shell
exercice 1: commande find
- trouver tous les fichiers commençant par les deux lettres
rc situés dans le dossier /etc ou ses sous-dossiers
- trouver le nombres de fichiers situés dans /etc et dans
ses sous-dossiers dont le nom fait exactement 8 caractères
- même question avec les fichiers dont le nom fait plus de 20
caractères
- Donnez une commande permettant de connaitre tous les fichiers,
d'extension .c ou .h qui
contiennent la chaine include. Meme chose pour ceux ne contenant pas
main. Comment faire pour que les majuscules n'importent pas pour "main"
?
- donnez une commande qui trouve et supprime les fichiers
situés dans votre dossier personnel et dont le nom fini par
un ~.
- donner une commande permettant de compresser avec l'utilitaire
bzip2 les fichiers de votre dossier personnel dont le contenu n'a pas
été modifié depuis plus de 30 jours et ceux, non
modifiés depuis plus de 7 jours dont la taille dépasse
20Mo
exercice 2: entrées/sorties
- Soit deux fichier f1 et f2 contenant chacun un nombre entier par
ligne. Pour chaque ligne, on souhaite afficher la somme du nombre de f1
et du nombre de f2. Ecrire le script correspondant.
- Faites en sorte que votre script accepte un troisième
paramètre qui sera un nom de fichier dans lequel sera
sauvé le résultat
- idem mais avec des noms d'option: -1 -2 et -o pour le fichier de
sortie.
Exercice 3: gestion d'un répertoire
téléphonique
Un répertoire est un fichier contenant des lignes de la forme:
nom,prénom,num tel, ville
Notre but est d'écrire un programme de gestion de
répertoire permettant de consulter le répertoire ou d'y
ajouter des entrées.
- écrire une fonction qui affiche les lignes reçues
sur son entrée standard sous la forme: nom: le nom,
prénom: le prénom, ... avec une information par ligne.
- utilisez là dans un script qui affiche
l'intégralité du fichier
- ajouter à votre fonction les paramètres -aff-nom,
-aff-prenom, -aff-tel et -aff-ville qui indiquent quelle information
afficher.
- utilisez là dans un script réalisant le même
travail et qui admettra les options suivantes :
- -aff-nom
- -aff-prénom
- -aff-tel
- -aff-ville
- on souhaite pouvoir sauvegarder l'affichage dans un fichier.
Ajouter une option -o ayant un nom de fichier f comme argument qui
provoque la sauvegarde de ce qui est affiché dans le fichier f
- ajouter à votre programme une gestion des signaux de
façon à permettre un effacement des éventuels
fichier temporaire ou de fichier de sortie incomplets avant la mort du
script
- On souhaite ajouter des fonctionnalités de recherche
à notre script :
- recherche par nom, prénom, num tel, ville
sélectionnées par les options --nom, --prenom, --tel,
--ville. Toute combinaison de ces options doit pouvoir être
utilisée.
Exemple: repertoire.sh -aff-nom -aff-prenom -aff-tel -ch-nom PETIT
-ch-prenom Pascal
Bibliographie/liens utiles
Dans une version ultérieure de ce document.