• Aucun résultat trouvé

Introduction au Syst`eme d’Exploitation Unix/Linux Expressions r´eguli`eres B. Jacob

N/A
N/A
Protected

Academic year: 2022

Partager "Introduction au Syst`eme d’Exploitation Unix/Linux Expressions r´eguli`eres B. Jacob"

Copied!
22
0
0

Texte intégral

(1)

Introduction au Syst` eme d’Exploitation Unix/Linux

Expressions r´eguli`eres

B. Jacob

IC2/LIUM

12 septembre 2017

(2)

Introduction au Syst`eme d’Exploitation Unix/Linux

Plan

1 Expressions r´eguli`eres ”simples”

2 Expressions r´eguli`eres ”´etendues”

3 Commandegrep

4 Commandefind

(3)

Introduction au Syst`eme d’Exploitation Unix/Linux Expressions r´eguli`eres ”simples”

Plan

1 Expressions r´eguli`eres ”simples”

(4)

Introduction au Syst`eme d’Exploitation Unix/Linux Expressions r´eguli`eres ”simples”

Expressions r´ eguli` eres simples

”regexp” simples →s´election de nomsde fichiers et/ou r´epertoires Elles utilisent des m´etacaract`eres

? : “joker” pour un car

* : n car. (n >0) [ch] : ’c’ ou ’h’

{c,pl}: ’c’ ou ’pl’

[a-e] : un car.∈ [a,b,c,d,e]

[ˆd-f] : un car. tous sauf d,e,f

[a-zA-Z]: une lettre minuscule ou majuscule [a-z][0-9] : lettre minuscule suivie d’un chiffre

(5)

Introduction au Syst`eme d’Exploitation Unix/Linux Expressions r´eguli`eres ”simples”

Expressions r´ eguli` eres simples

Les regexp sont utilis´ees

⇒ pour une s´election multiple de fichiers

⇒ par des commandes utilisant plusieurs fichiers (commels) ( donc plusieurs nomsde fichiers )

(6)

Introduction au Syst`eme d’Exploitation Unix/Linux Expressions r´eguli`eres ”simples”

Exemples regexp simples avec ”ls”

prompt% ls

File1 File2 File3 fichier prog1.c prog2.c prompt% ls File?

File1 File2 File3 prompt% ls ?i*

File1 File2 File3 fichier prompt% ls *.c

prog1.c prog2.c prompt% ls [^Ff]*

prog1.c prog2.c

(7)

Introduction au Syst`eme d’Exploitation Unix/Linux Expressions r´eguli`eres ”simples”

Exercices

Exercices sur les regexp simples . . .

(8)

Introduction au Syst`eme d’Exploitation Unix/Linux Expressions r´eguli`eres ”´etendues”

Plan

2 Expressions r´eguli`eres ”´etendues”

(9)

Introduction au Syst`eme d’Exploitation Unix/Linux Expressions r´eguli`eres ”´etendues”

Expressions r´ eguli` eres ”´ etendues”

”regexp” ´etendues → s´election de contenus de fichiers

Fonctions des regexps ´etendues Fonctions des regexps simples +

\n : retour `a la ligne ˆ : d´ebut de ligne

$ : fin de ligne

(10)

Introduction au Syst`eme d’Exploitation Unix/Linux Expressions r´eguli`eres ”´etendues”

Expressions r´ eguli` eres ´ etendues

Liste des M´etacaract`eres (6= simples) : .(dot) : un caract`ere quelconque

*: op´erateur de r´ep´etition [xyz]: x ou y ou z

[A−G]: intervale [ ˆxyz]: sauf x, y ou z ˆ: d´ebut de ligne

$fin de ligne

\{m,n\} : r´ep´etitions entre m et n fois

\ : ´echappement(enl`eve l’interpr´etation d’un car. sp´ecial)

(11)

Introduction au Syst`eme d’Exploitation Unix/Linux Expressions r´eguli`eres ”´etendues”

Exemples de regexp ´ etendues

ˆ$ : repr´esente une ligne vide

ˆ[A-Z] : une majuscule en d´ebut de ligne [ˆA-Z] : tout sauf une majuscule

[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

(12)

Introduction au Syst`eme d’Exploitation Unix/Linux Commandegrep

Plan

3 Commandegrep

(13)

Introduction au Syst`eme d’Exploitation Unix/Linux Commandegrep

Recherche de motifs dans un fichier

grep: Recherche de contenus dans des fichiers s´election de contenu→ regexp ´etendues s´elections des fichiers→ regexp simples

Format

grep [vin] [regexp ´etendue] [regexp simple]

options motif fichiers

Options -v : compl´ementaire

-i : maj. et min. indiff´erentes -n : affiche les num´eros de lignes

(14)

Introduction au Syst`eme d’Exploitation Unix/Linux Commandegrep

Exemple grep sur 1 fichier

$ more texte il fait beau il fait chaud

beau temps n’est ce pas ?

$ grep "^il" texte il fait beau il fait chaud

$ grep "aud$" texte il fait chaud

$ grep "[ph]a" texte il fait chaud

beau temps n’est ce pas ?

(15)

Introduction au Syst`eme d’Exploitation Unix/Linux Commandegrep

Exemple grep sur plusieurs fichiers

$ more fich11.txt il fait beau mais pas trop il est midi

$ more fich22.txt il fait chaud et humide

$ grep "^il" fich*.txt fich11.txt:il fait beau fich11.txt:il est midi fich22.txt:il fait chaud

(16)

Introduction au Syst`eme d’Exploitation Unix/Linux Commandegrep

Exercice

Exercices surgrep et les regexp ´etendues . . .

(17)

Introduction au Syst`eme d’Exploitation Unix/Linux Commandefind

Plan

4 Commandefind

(18)

Introduction au Syst`eme d’Exploitation Unix/Linux Commandefind

find

find: Recherche de fichiers dans une arborescence sur un ou plusieurs crit`eres Si crit`ere porte

sur le nom des fichiers alors

→ utilisation des regexp simples sur le contenu des fichiers alors

→ utilisation des regexp ´etendues

(19)

Introduction au Syst`eme d’Exploitation Unix/Linux Commandefind

Recherche de fichier avec find

find dir expr command

Recherche dans une arborescence de racine dir Des fichiers satisfaisant le(s) crit`ere(s) expr

Exemples

( ) -o -aop´erateurs logiques -name regexp simple

-size n / -size +/-n (taille n × 512 octets) -user nom utilisateur

. . . autres possibilit´es : man find

(20)

Introduction au Syst`eme d’Exploitation Unix/Linux Commandefind

Recherche de fichier avec find

find dir expr command

Avec l’application de command

2 formats pourcommand : -print

affiche les nomsdes fichiers s´electionn´es

-execCmdUnix{} \;

applique la commande UnixCmdUnixsur les fichiers s´electionn´es

avec

{}= variable prenant tour `a tour chacun des noms des fichiers s´electionn´es

\;= marque de fin de la commande Unix

Si CmdUnix=grep alors → utlisation des regexp ´etendues

(21)

Introduction au Syst`eme d’Exploitation Unix/Linux Commandefind

Exemples de find

affichage des fichiers .c

% find . -name ’*.c’ -print

affichage de mes fichiers

% find / -user $USER -print

suppression des fichiers .o

% find $HOME -name ’*.o’ -exec rm {} \;

recherche de lignes commen¸cant par ”toto” dans les fichiers .txt

% find . -name "*.txt" -exec grep "^toto" {} \;

(22)

Introduction au Syst`eme d’Exploitation Unix/Linux Commandefind

Exercice

Exercices sur find . . .

Références

Documents relatifs

Syst` eme de fichiers = table de i-noeuds (+ arborescence) Informations contenues dans un

Toute fonction continue 2π-p´ eriodique ` a valeurs dans C est limite uniforme de polynˆ omes trigonom´ etriques..

Pour chacune des valeurs propres, d´ eterminer un vecteur propre associ´ e.. b) D´ eterminer une matrice P et une matrice diagonale D telles que C = P

Le but de cet exercice, est de mettre en ´ evidence le fait qu’il y a plusieurs questions ` a se poser sur un syst` eme d’´ equations ` a part sa r´ esolution.. Lorsqu’on a

[r]

La cr´ eation d’un compte implique ´ egalement de placer dans la home directory des fichiers de configuration dont le fichier associ´ e au shell (.cshrc, .profile, .basdrc,..

1. Architecture en couches. Ouvrir et fermer une session Unix. Les commandes Unix. Le manuel en ligne d’Unix. Le fichier Unix. Op´erations ´el´ementaires sur les fichiers.

◮ Utilisation mod´er´ee de l’espace RAM car on ne charge que l’inode du fichier ouvert : la taille sur le disque ne d´epend que du nombre de fichiers ouverts simultanement. ◮