Partie 3

Exercices sur les fichiers du corpus Prématurés avec Emacs

Dans la troisième partie, qui est répartie entre 2 pages, nous commençons à travailler sur un traitement de texte plus approfondi à l'aide de différents outils, dont le logiciel Emacs et la commande Egrep dans le terminal. Ces outils nous permettent d'éditer les fichiers, d'en extraire certains passages pour les sauvegarder dans un nouveau fichier, de compter les occurrences d'un motif recherché, et bien d'autres fonctions encore.

Exercices sur le "Corpus Prématurés" avec Emacs

Ficher de travail p96.tab  • 

Dans cette section nous travaillons avec l'outil Emacs, qui est présenté sur la première page du site. C'est un outil qui sert à traiter des textes, et que nous utiliserons pour chercher des occurrences d'un certain motif dans un fichier donné. Nous allons traiter deux documents dont vous trouverez les liens juste au-dessus. Dans ces textes nous effectuerons des recherches sur chaque document, d'abord en cherchant des occurrences d'une expression régulière, et par la suite au moyen des macros qui nous permettront d'extraire directement les fiches contenant le motif qui nous intéresse. Pour mieux voir les captures d'écran des résultats, cliquez sur l'image.

1.1 Recherches sur p96.tab

Ces recherches afficheront dans la fenêtre basse d'Emacs des occurences du motif recherché

Question 1  •  Rechercher les fiches contenant une interrogation

Alt-x occur (enter) \?

Question 2  •  Rechercher les fiches correspondant au bébé 12

Alt-x occur (enter) ^12[0-9][0-9][0-9]*

Question 3  •  Rechercher les fiches correspondant au bébé 1

Alt-x occur (enter) ^1[0-9][0-9][^0-9]

Question 4  •  Rechercher les fiches pour lesquelles le score médical est de 12

Alt-x occur (enter) 12$

Question 5  •  Faire de même pour un score de 10. Pouvez-vous expliquer le résultat ?

Alt-x occur (enter) 10[^0-9]*$

1.2 Recherches sur p96.bal

Ces recherches afficheront dans la fenêtre basse d'Emacs des occurences du motif recherché

Question 1  •  Rechercher les fiches concernant les bébés 10 à 12

Alt-x occur (enter) BEBE>1[0-2][^0-9]

Question 2  •  Rechercher les fiches concernant les bébés 10 et 12, c'est-à-dire sans 11 et 13

Alt-x occur (enter) BEBE>1[02][^0-9]

Question 3  •  Rechercher le nombre de bébés de 23, ..., 30 semaines

Alt-x count-matches (enter) TERME>\(2[3-9]\|30\)

Question 4  •  Rechercher les fiches du jour 0 pour lesquels le bébé est né à 28 semaines

Alt-x occur (enter) JOURS>0.+TERME>28

Question 5  •  Rechercher les fiches des bébés nés entre 23 et 29 semaines

Alt-x occur (enter) TERME>2[3-8][^0-9]

Question 6  •  Rechercher les fiches pour lesquels le bébé à la naissance faisait au moins 1000 grammes

Alt-x occur (enter) POIDS>1[0-9][0-9][0-9]

Question 7  •  Rechercher les fiches pour lesquels le bébé à la naissance faisait moins de 1000 grammes

Alt-x occur (enter) POIDS>[0-9][0-9][0-9][^0-9]

2.1 Recherches sur p96.tab

Dans cette partie nous allons construire des macros avec Emacs. Cela nous permettra d'extraire toutes les fiches contenant le motif recherché en utilisant une sérié de commandes définie dans la macro, et de sauvegarder les fiches extraites dans un nouveau fichier. Pour chaque question vous trouverez les commandes écrites dans la macro et un lien vers le fichier créé.

Question 1  •  Extraire les fiches contenant une interrogation

C-x (; C-s; ?; C-a; C-espace; C-e; Alt-w; C-x o; C-y; (enter); C-x o; C-x )

Lien vers le fichier des résultats

Question 2  •  Extraire les fiches correspondant au bébé 12

C-x (; Alt-x search-forward-regexp; N° 12[0-9][0-9]*; C-a; C-espace; C-e; Alt-w; C-x o; C-y; (enter); C-x o; C-x )

Lien vers le fichier des résultats

Question 3  •  Extraire les fiches correspondant au bébé 1

C-x (; Alt-x search-forward-regexp; ^1[0-9][0-9][^0-9]; C-a; C-espace; C-e; Alt-w; C-x o; C-y; (enter); C-x o; C-x )

Lien vers le fichier des résultats

Question 4  •  Extraire les fiches pour lesquelles le score médical est de 12

C-x (; Alt-x search-forward-regexp; 12$; C-a; C-espace; C-e; Alt-w; C-x o; C-y; (enter); C-x o; C-x )

Lien vers le fichier des résultats

Question 5  •  Faire de même pour un score de 10. Pouvez-vous expliquer le résultat ?

C-x (; Alt-x search-forward-regexp; 10[^0-9]*$; C-a; C-espace; C-e; Alt-w; C-x o; C-y; (enter); C-x o; C-x )

Lien vers le fichier des résultats

Il y a une tabulation après le 10, qui est compté comme un caractère donc il faut mettre une étoile suivant le dernier chiffre pour dire qu'il y aurait un autre caractère mais pas un chiffre.

Question 6  •  Quelles fiches vont être extraites si l'on demande les fiches commençant par 13 ? Expliquer ?

C-x (; Alt-x search-forward-regexp; ^13; C-a; C-espace; C-e; Alt-w; C-x o; C-y; (enter); C-x o; C-x )

Lien vers le fichier des résultats

Nous aurons les fiches de bébé 1 pour le 3me jour d'observation ainsi que les fiche du bébé 13.

Question 7  •  Extraire les fiches correspondant aux bébés faisant au moins 1000 grammes.

0

2.2 Recherches sur p96.bal

Dans cette partie aussi nous travaillons sur des macros avec Emacs, mais cette fois sur un fichier différent. Nous allons extraire toutes les fiches contenant le motif recherché en utilisant une sérié de commandes définie dans la macro, et de sauvegarder les fiches extraites dans un nouveau fichier. Pour chaque question vous trouverez les commandes écrites dans la macro et un lien vers le fichier créé.

Question 1  •  Extraire les fiches concernant les bébés 10 à 12

C-x (; Alt-x search-forward-regexp; BEBE>1[0-2][^0-9]; C-a; C-espace; C-e; Alt-w; C-x o; C-y; (enter); C-x o; C-x )

Lien vers le fichier des résultats

Question 2  •  Extraire les fiches concernant les bébés 10 et 12, c'est-à-dire sans 11 et 13

C-x (; Alt-x search-forward-regexp; BEBE>1[0|2][^0-9]; C-a; C-espace; C-e; Alt-w; C-x o; C-y; (enter); C-x o; C-x )

Lien vers le fichier des résultats

Question 3  •  Trouver le nombre de bébés de 23, ..., 30 semaines

Alt-x count-matches (enter) TERME>\(2[3-9]\|30\)

Question 4  •  Extraire les fiches du jour 0 pour lesquels le bébé est né à 28 semaines

C-x (; Alt-x search-forward-regexp; JOURS>0.+TERME>28 ; C-a; C-espace; C-e; Alt-w; C-x o; C-y; (enter); C-x o; C-x )

Lien vers le fichier des résultats

Question 5  •  Extraire les fiches des bébés nés entre 23 et 29 semaines

C-x (; Alt-x search-forward-regexp; TERME>2[3-8][^\,] ; C-a; C-espace; C-e; Alt-w; C-x o; C-y; (enter); C-x o; C-x )

Lien vers le fichier des résultats

Question 6  •  Extraire les fiches pour lesquels le bébé à la naissance faisait au moins 1000 grammes

C-x (; Alt-x search-forward-regexp; POIDS>1[0-9][0-9][0-9] ; C-a; C-espace; C-e; Alt-w; C-x o; C-y; (enter); C-x o; C-x )

Lien vers le fichier des résultats

Question 7  •  Extraire les fiches pour lesquels le bébé à la naissance faisait moins de 1000 grammes

C-x (; Alt-x search-forward-regexp; POIDS>[0-9][0-9][0-9][^0-9] ; C-a; C-espace; C-e; Alt-w; C-x o; C-y; (enter); C-x o; C-x )

Lien vers le fichier des résultats

Question 8  •  Extraire les fiches rédigées par les infirmières 12 et 22

C-x (; Alt-x search-forward-regexp; [12]2 ; C-a; C-espace; C-e; Alt-w; C-x o; C-y; (enter); C-x o; C-x )

Lien vers le fichier des résultats

Question 9  •  Extraire les fiches concernant le bébé 10 et ne correspondant pas au jour 0

C-x (; Alt-x search-forward-regexp; 1[^1-9].+[^0] ; C-a; C-espace; C-e; Alt-w; C-x o; C-y; (enter); C-x o; C-x )

Lien vers le fichier des résultats