Rappels sur le shell bash
- Caractères partagés par le bash et les outils (*, $, [?]?).
- Ligne de commande ($,*,',",`, etc), les erreurs classiques.
- Redirections, pipes (<,<<,>,>>,|).
Travaux pratiques
Lancement de commande.
Automatisation avec les shell scripts
- Scripts de démarrage et d'installation, les variables.
- Surveillance : connexion, file system, fichiers.
- Passage d'arguments, Paramètre (&, shebang, source).
- Mise au point (2>, script, tee, debugging).
- Exécution différée (crontab).
- Instructions conditionnelles (if, for, while...), fonctions, code retour.
Travaux pratiques
Lancement de script, modification de ligne.
Grep, ed, sed et les expressions régulières
- Expressions régulières, méta-caractères.
- Extraire des lignes (grep) : recherche simple, complexe, extensions (egrep, fgrep).
- Edition de données (sed) : syntaxe, manipulations de base (afficher, effacer, substituer...) et avancées.
- Utilisation de ed et expr.
Travaux pratiques
Utiliser grep, ed, sed et des expressions régulières.
Apports de awk
- Limites de grep et sed.
- Programmer une matrice de motifs et d'actions associées. Variables, enregistrements et champs ($1,$2,$NR, $NR?).
- Les motifs (simples, expressions régulières).
- langage awk (if, for ?).
- Fonctions essentielles de awk. Aspects avancés.
Travaux pratiques
Manipuler du texte avec awk.
Publication des données
- Formats et conversions (ascii, mime...). Problèmes d'accents.
- Affichage du contenu (od), transformation (tr), conversion (dos2unix, uuencode, uudecode...).
- Formatage (tex et latex), génération et publication (latex2pdf, latex2html).
- Formats nroff et troff (l'exemple du man).
- Lire de gros fichiers (more ou less), concaténer : paste, etc (fold, pr, , col...).
Travaux pratiques
Utiliser od, tr, more, less...
Outils et commandes sur les fichiers
- Connaître la nature d'un fichier : (file).
- Lire ou concaténer (cat).
- Disposer de statistiques sur un fichier (wc).
- Extraire des zones ou des champs (cut).
- Rechercher, découper, comparer un fichier (find, split, csplit, diff, cmp).
- Utilitaire de tri : sort. Outils de compression/décompression : tar, compress, pack, gzip, bzip2.
- Autres outils : patch, strings, uniq, comm.
Travaux pratiques
Manipuler les fichiers (cat, wc, cut, diff, cmp, tar...).