logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes [13/08/2014 09:13]
Hypathie [grep, sed, find, locate et les caractères spécifiques aux ERb]
utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes [13/08/2014 10:46]
Hypathie [Caractères spécifiques aux ERb]
Ligne 221: Ligne 221:
 </​code>​ </​code>​
  
 +Voir ci-dessous pour l'​utilisation de grep (grep -G) avec [[utilisateurs:​hypathie:​tutos:​erb-et-ere-par-le-contexte-des-commandes?&#​grep-ou-grep-g-et-les-caracteres-specifiques-aux-erb|les caractères spécifiques aux ERb]].
 </​note>​ </​note>​
  
Ligne 687: Ligne 688:
  
 =====Caractères spécifiques aux ERb  ===== =====Caractères spécifiques aux ERb  =====
-Les commandes ​utilisent ​les caractères spécifiques aux expressions rationnelles basiques:\\  +Toutes les commandes ​utilisant ​les expressions rationnelles basiques ​utilisent les caractères énumérés ci-dessous.\\ 
-grep (ou grep -G) ; find -regextype "​posix-basic"​ ; locate --regexp ; sed (sans option) ; vi (vim) ; expr+  
 +La commande **''​expr''​** n'​utilise que ceux-ci.\\ ​
  
 ^expressions ​                          ​^Modèles reconnus ​                            ^ ^expressions ​                          ​^Modèles reconnus ​                            ^
Ligne 697: Ligne 699:
 |**''<​nowiki>​\1,​ \2, ...</​nowiki>''​** ​ | Rappel de mémorisation ​                     | |**''<​nowiki>​\1,​ \2, ...</​nowiki>''​** ​ | Rappel de mémorisation ​                     |
  
-Les commandes grepvi (vim), locate, find utilisent ​aussi les caractères ​spécifiques suivants ​:+Les commandes ​**''​grep''​** (ou **''​grep -G''​**) ; **''​find -regextype "​posix-basic"​ ''​** ;  
 +**''​locate --regexp''​** ; **''​sed''​**;​ **''​vi''​** ​(**''​vim''​**) utilisent ​en plus ces caractères-ci :
  
 ^                            ^                                      ^ ^                            ^                                      ^
Ligne 703: Ligne 706:
 |**''<​nowiki>​\+</​nowiki>''​** | une ou plusieurs fois l'​élément précédent | |**''<​nowiki>​\+</​nowiki>''​** | une ou plusieurs fois l'​élément précédent |
 |**''<​nowiki>​\|</​nowiki>''​** | alternative | |**''<​nowiki>​\|</​nowiki>''​** | alternative |
- 
- 
  
 -> Le caractère **''​\''​** donne une signification spéciale aux parenthèses et accolades, ?, +, | au lieu de les rendre littérales.\\ ​ -> Le caractère **''​\''​** donne une signification spéciale aux parenthèses et accolades, ?, +, | au lieu de les rendre littérales.\\ ​
Ligne 710: Ligne 711:
  
 <note tip> <note tip>
-Je présenterai principalement les commandes ​"​spécifiques"​ aux ERb, c'​est-à-dire,​ celles qui n'ont pas la possibilité ​d'​utiliser les ERE vi (vim) et expr.\\  +Je présenterai principalement les commandes ​qui n'​utilisent que les ERb, c'​est-à-dire,​ celles qui n'ont pas besoin ​d'une option pour utiliser les expressions rationnelles et qui n'ont pas encore été abordées**''​expr''​** et **''​vi''​** ​(**''​vim''​**).\\ 
-Elles utilisent bien sûr tous les caractères ERb et pas seulement les caractères spécifiques aux ERb.+
  
-Je ne ferai ici qu'un bref rappel des autres ​commandes qui peuvent utiliser (en changeant d'​option) les ERe plus lisibles((plus de ''​\''​ devant ​parenthèses,​ accolades, +, ? et |)).+Elles utilisent bien sûr tous [[utilisateurs:​hypathie:​tutos:​erb-et-ere-par-le-contexte-des-commandes?&#​caracteres-communs-aux-erb-et-ere|les caractères communs aux ERb et ERe]], leur utilisation avec ces caractères apparaîtra en à côté de l'​utilisation des caractères spécifiques aux ERb. 
 + 
 +Je ferai ensuite ​un bref rappel des commandes ​"à option"​ qui utilisent tous les caractères spécifiques aux ERb, mais qui peuvent ​aussi utiliser ​ces mêmes caractères((parenthèses,​ accolades, +, ? et |)) sans antislash avec les ERe.
 </​note>​ </​note>​
  
Ligne 726: Ligne 728:
 abc2356.99 abc2356.99
 73000|Savoie 73000|Savoie
 +123456
 +1234567
 index-tel|04|Rhône-Alpe index-tel|04|Rhône-Alpe
 -15 +36 5687 {15} exemple{36} -15 +36 5687 {15} exemple{36}
 il y a un truc et un truc et encore un truc et une chose il y a un truc et un truc et encore un truc et une chose
-chose et truc ne font pas bon ménage+choses ​et trucs ne font pas bon ménage
 123.3456.abc 123.3456.abc
-trucchosetruc +trucschosetruc 
-tructructruc+tructructrucs
 chosechosechose chosechosechose
 </​code>​ </​code>​
Ligne 987: Ligne 991:
 </​code>​ </​code>​
  
-==== grep ou grep -G et l'​utilisation des ERb====+==== grep ou grep -G et les caractères spécifiques aux ERb====
  
   * les accolades avec antislash (le caractère précédent un nombre exact de fois) :   * les accolades avec antislash (le caractère précédent un nombre exact de fois) :
Ligne 1077: Ligne 1081:
 __**Préparation**__\\ ​ __**Préparation**__\\ ​
  
-Dans le répertoire de l'​utilisateur ​et dans le dossier ​"​ERetCMD/"​+Dans le répertoire de l'​utilisateur ​soit le répertoire ​"​ERetCMD/" ​contenant :
  
-  * Création de deux fichiers, "img-perso-1.jpg" et "img-perso-2.jpg" : +<​code>​ 
- +Dossier  ​     ​img-perso-2.jpg  ​liste3-erb-ere     sort1.txt 
-<code user> +essai.grep2~  ​     liste  ​      ​liste4-spec  ​   sort2.txt 
-touch img-perso-1.jpg ​img-perso-2.jpg+image linux - 01.jpg  ​liste1  ​      ​liste4-vim  ​   sort3.txt 
 +image linux - 02.jpg ​ liste1-nom ​      ​liste-class  ​   vim2.png 
 +image linux - 03.jpg ​ liste2  ​      ​server-0.xkb  ​   vim.png 
 +img-perso-1.jpg ​      liste2-nom       ​smolski-exo-sed.txt  xxx-sort.txt
 </​code>​ </​code>​
  
 ===Exemples === ===Exemples ===
 +  * accolades (depuis le répertoire parent "​ERetCMD/"​ des fichiers recherchés :
 <code user>​find -regextype "​posix-basic"​ -regex "​.*/​[a-z]\{,​3\}-.*\.jpg$"</​code>​ <code user>​find -regextype "​posix-basic"​ -regex "​.*/​[a-z]\{,​3\}-.*\.jpg$"</​code>​
 <​code>​ <​code>​
Ligne 1093: Ligne 1100:
 </​code>​ </​code>​
  
-====locate et les caractères spécifiques aux ERb ==== +  * caractère ​\? : 
-Rappel\\  +<code user>​find ​-regextype ​"posix-basic" -regex ".*/liste.\?"</​code>​ 
- +<​code>​ 
-Pour utiliser les ERb, il faut utiliser l'​option **''​--regexp''​**. +./​ERetCMD/​liste1 
- +./​ERetCMD/​liste 
-=== Préparation=== +./​ERetCMD/​liste2
-Dans le répertoire de l'​utilisateur et dans le dosssier "​ERetCMD/"​ : +
- +
-  * Création de trois fichiers : "image linux 01.jpg", "image linux 02.jpg" ​et "image linux - 03.jpg" ​+
- +
-<​code ​user+
-touch image\ linux\ -\ 01.jpg image\ linux\ -\ 02.jpg image\ linux\ -\ 03.jpg +
 </​code>​ </​code>​
  
-  * Visualisation ​+  * le caractère \+ (depuis le répertoire parent "​ERetCMD/"​ des fichiers) ​:  
-<code user>ls</​code>​+<code user>find -regextype "​posix-basic"​ -regex "​.*/​liste.\+"​</​code>​
 <​code>​ <​code>​
-Dossier  ​     img-perso-1.jpg  ​liste3-erb-ere ​ ​smolski-exo-sed.txt +./liste2-nom 
-essai.grep2~  ​     img-perso-2.jpg  ​liste4-spec     ​sort1.txt +./liste1-nom 
-image linux - 01.jpg  ​liste1-nom       ​liste4-spec~ ​   sort2.txt +./liste3-erb-ere 
-image linux - 02.jpg  liste1-nom~ ​     ​liste4-vim      sort3.txt +./liste4-vim 
-image linux - 03.jpg  ​liste2-nom       ​server-0.xkb    xxx-sort.txt+./liste1 
 +./liste4-spec 
 +./liste2 
 +./liste-class
 </​code>​ </​code>​
  
-  ​* Mise à jour de la base de donnée :+====locate et les caractères spécifiques aux ERb ==== 
 +__**Rappel**__\\  
 + 
 +Pour utiliser les ERb, il faut utiliser l'​option **''​--regexp''​**.\\ 
 + 
 +Soit encore le répertoire "​ERetCMD/"​ contenant les mêmes fichiers (voir find).\\  
 + 
 +Mise à jour de la base de donnée, si besoin ​:
 <code root> <code root>
 updatedb updatedb
 </​code>​ </​code>​
  
-===Exemple ​=== +===Exemples ​=== 
-<code user>​locate --regexp '.*\([a-z]\{1,​\} \)\{2\}.*\.jpg$'</​code>​+  * parenthèses et accolades (depuis n'​importe où dans l'​arborescence du système de fichiers) : 
 + 
 +<code user>​locate --regexp '​\([a-z]\{1,​\} \)\{2\}.*\.jpg$'</​code>​
 <​code>​ <​code>​
 /​home/​Téléchargements/​Les utilitaires awk, nawk et gawk - Tutoriel_fichiers/​logo.jpg /​home/​Téléchargements/​Les utilitaires awk, nawk et gawk - Tutoriel_fichiers/​logo.jpg
Ligne 1130: Ligne 1143:
 /​home/​hypathie/​ERetCMD/​image linux - 03.jpg /​home/​hypathie/​ERetCMD/​image linux - 03.jpg
 </​code>​ </​code>​
 +
 +  * caractère \? :
 +<code user>​locate --regexp '/​liste.\?'</​code>​
 +<​code>​
 +/​home/​hypathie/​Documents/​PYTHON/​python2/​chap06/​liste_et_branch.py
 +/​home/​hypathie/​Documents/​PYTHON/​python3/​chap06/​liste_et_branch.py
 +/​home/​hypathie/​ERetCMD/​liste
 +/​home/​hypathie/​ERetCMD/​liste-class
 +/​home/​hypathie/​ERetCMD/​liste1
 +/​home/​hypathie/​ERetCMD/​liste1-nom
 +/​home/​hypathie/​ERetCMD/​liste2
 +/​home/​hypathie/​ERetCMD/​liste2-nom
 +/​home/​hypathie/​ERetCMD/​liste3-erb-ere
 +/​home/​hypathie/​ERetCMD/​liste4-spec
 +/​home/​hypathie/​ERetCMD/​liste4-vim
 +/​usr/​share/​man/​man2/​listen.2.gz
 +</​code>​
 +
 +>Le fichier "​liste"​ (sans extension) apparaît.
 +
 +  * caractère \+ :
 +
 +<code user>​locate --regexp '/​liste.\+'</​code>​
 +<​code>​
 +/​home/​hypathie/​Documents/​PYTHON/​python2/​chap06/​liste_et_branch.py
 +/​home/​hypathie/​Documents/​PYTHON/​python3/​chap06/​liste_et_branch.py
 +/​home/​hypathie/​ERetCMD/​liste-class
 +/​home/​hypathie/​ERetCMD/​liste1
 +/​home/​hypathie/​ERetCMD/​liste1-nom
 +/​home/​hypathie/​ERetCMD/​liste2
 +/​home/​hypathie/​ERetCMD/​liste2-nom
 +/​home/​hypathie/​ERetCMD/​liste3-erb-ere
 +/​home/​hypathie/​ERetCMD/​liste4-spec
 +/​home/​hypathie/​ERetCMD/​liste4-vim
 +/​usr/​share/​man/​man2/​listen.2.gz
 +</​code>​
 +
 +
 +>Le fichier "​liste"​ (sans extension) n'​apparaît pas.
  
 =====Les classes ===== =====Les classes =====
utilisateurs/hypathie/tutos/erb-et-ere-par-le-contexte-des-commandes.txt · Dernière modification: 01/10/2023 11:39 (modification externe)

Pied de page des forums

Propulsé par FluxBB