Précédent Index Suivant

5.4  Expressions régulières

  Syntaxe shells

  Exemple de la syntaxe shells

% ls 
File1    File2    File3    
fichier  prog1.c  prog2.c

% echo File? 
File1 File2 File3

% echo ?i* 
File1 File2 File3 fichier

% echo *.c 
prog1.c prog2.c

% echo *2* 
File2 prog2.c

% echo [!Ff]*
prog1.c prog2.c
    

  Recherche de fichiers

find dir expr command

  Expressions régulières de commandes

syntaxe sens
c caractère ordinaire
. (dot) un caractère quelconque
[xyz] x ou y ou z
[A-G] interval
[^xyz] sauf x, y ou z
^ début de ligne
$ fin de ligne
* opérateur de répétition (³ 0)
\{m,n\} répétions entre m et n fois
\ échappement


  Exemples d'expressions régulières

  Recherche de motifs dans un fichier grep


grep [-vin] regexpr [file]...

$ ps aux | grep "^marquet"
marquet  14551  ... 0:10 ghostview poly.ps
marquet  15818  ... 0:02 gs -dQUIET -dNOPAUSE -
marquet  13883  ... 0:05 -tcsh (tcsh)

  Calcul d'expressions expr


expr argument...

  Editeur sed

sed [-n] [-e script ] [file]...

Règles de sed
[address [,address]] function [arg]...
Un premier exemple de sed
% cat test-sed
marquet 7333 Philippe Marquet
albert 7507 Francis Albert
podvin 7509 Maurice Podvin
duchmol 7713 Pierre Duchmol

% sed -n -e 2,3p < test-sed
albert 7507 Francis Albert
podvin 7509 Maurice Podvin

% sed -e s/Pierre/Peter/ < test-sed
marquet 7333 Philippe Marquet
albert 7507 Francis Albert
podvin 7509 Maurice Podvin
duchmol 7713 Peter Duchmol
Les commandes de sed Fichier de commandes sed
% cat prog.sed
1a\
albert 7507 Francis Albert
% cat test-sed
marquet 7333 Philippe Marquet
podvin 7509 Maurice Podvin
duchmol 7713 Pierre Duchmol
% sed -f prog.sed < test-sed
marquet 7333 Philippe Marquet
albert 7507 Francis Albert
podvin 7509 Maurice Podvin
duchmol 7713 Pierre Duchmol
    
Les commandes de sed Exemple hold space
s/reg-expr/replacement/flags

  Grand est sed

Il y a mieux (pire) : awk


Précédent Index Suivant