EMSI: École Marocaine des Sciences de
l'Ingénieur
Chapitre VIII : manipulation des fichiers et
les données
Présenté par : Pr . ER-RAJI Naoufal
Année Universitaire 2023/2024
1
Sommaire
• Grep
• Diff
• Sed
Grep : Introduction
➢Un Filtre (ou une commande filtre) est un programme sachant écrire
et lire des données par les canaux standards d'entrée et de sortie. Il en
modifie ou traite éventuellement le contenu.
➢ Les filtres sont utilisés avec les pipes (les tubes).
➢ Tous les processus formant un pipe tournent en même temps.
Grep : Commande Grep
• Grep
• Syntaxe : grep [options] exp [Fichier1….]
➢Il s’agit d’extraire des lignes d’un fichier selon divers critères.
➢La commande grep lit les données soit depuis un fichier d’entrée, soit
depuis le canal d’entrée standard.
➢Options principales :
-v : les lignes complémentaires (inverser la recherche)
-i : sans tenir compte de la casse (majuscule = minuscule)
-n : en précédant les lignes sélectionnées par leur numéro de ligne
-l : n’affiche que le nom du fichier
Grep : Expressions Régulières
• Expressions régulières par ligne:
➢. : (dot) un caractère quelquonque
➢*: opérateur de répétition
➢[x y z] : x ou y ou z
➢[A-G]: intervalle
➢[^xyz]: sauf x, y ou z
➢^ : début de ligne
➢$ : fin de ligne
➢\{m,n\} : répétitions entre m et n fois
➢\ : échappement
Grep : Expressions Régulières
• Exemples :
➢^$ : représente une ligne vide
➢^[A-Z]: une majuscule en début de ligne
➢[a-z][a-z]$: 2 minuscules en fin de ligne
➢[ABCD]\{2,10\}$ : entre 2 et 10 car. A,B,C ou D en fin de ligne.
➢.* : une séquence vide ou de plusieurs caractères.
Grep : Expressions Régulières
Caractère spécial Signification
. Caractère quelconque
^ Début de ligne
$ Fin de ligne
[] Un des caractères entre les crochets
? L’élément précédent est optionnel (peut être
présent 0 ou 1 fois)
* L’élément précédent doit être présent 1 ou
plusieurs fois
| Ou
() Groupement d’expressions
Grep : Expressions Régulières
Grep : Recherche de Lignes dans un Fichier
Inverser la recherche
sans tenir compte de la casse (majuscule
= minuscule)
en précédant les lignes sélectionnées
par leur numéro de ligne
Diff - Définition
• Diff
• Syntaxe: diff [Options] fich1 fich2
➢Comparer le contenu de deux fichiers.
➢indique les modifications à apporter aux deux fichiers en entrée pour
que leur contenu soit identique.
Option:
-b permet d'ignorer les espaces (blank)
Diff : Comparaison
Sed – Définition
sed est l'abréviation de stream editor. C'est un outil puissant en ligne de
commande sur les systèmes de type Unix et Linux qui permet de
manipuler et de transformer des flux de texte. Cela inclut la possibilité
de lire des fichiers texte ou des entrées provenant de pipelines, puis
d'appliquer des modifications basées sur des commandes spécifiées.
Sed – Syntaxe
Une ou plusieurs commandes sed
Des options Un ou plusieurs fichiers à
à exécuter, généralement
supplémentaires pour spécifiées entre guillemets traiter. Si aucun fichier n'est
contrôler le simples. spécifié, sed lira à partir de
comportement de sed. l'entrée standard.
Sed – Modifier et Afficher les Modifications
Substitute Global
Sed – Modifier et Enregistrer les Modifications sur un Fichier
in-place editing
Sed – Modifier et Enregistrer avec une Extension
Créer une copier de sauvegarde
avant de modifier le fichier
original
Sed – Afficher une Ligne Spécifique
Not default 2 -
print ème
Print
ligne
EMSI: École Marocaine des Sciences de
l'Ingénieur
Chapitre VIII : manipulation des fichiers et
les données
Présenté par : Pr . ER-RAJI Naoufal
Année Universitaire 2023/2024
18