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 →
Ci-dessous, les différences entre deux révisions de la page.
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:00] 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:09] Hypathie [grep, sed, find, locate et les 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 367: | Ligne 368: | ||
* Il s'agit d'une correspondance sur __le chemin complet__.\\ Pour représenter un chemin absolu quelque soit-il, il faut ajouter en début d'expression **''.*''**. | * Il s'agit d'une correspondance sur __le chemin complet__.\\ Pour représenter un chemin absolu quelque soit-il, il faut ajouter en début d'expression **''.*''**. | ||
- | </note> | ||
Je ne donnerai ici quelques exemples d'utilisation des caractères communs aux ERb et ERe, en tant que caractères ERb, afin d'illustrer l'utilisation de find avec l'option ''-regextype "posix-basic''.\\ | Je ne donnerai ici quelques exemples d'utilisation des caractères communs aux ERb et ERe, en tant que caractères ERb, afin d'illustrer l'utilisation de find avec l'option ''-regextype "posix-basic''.\\ | ||
- | Pour l'utilisation des caractères spécifiques aux ERb avec find, voir :\\ | + | Pour l'utilisation des caractères spécifiques aux ERb avec find, voir : [[utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes?&#find-et-les-caracteres-specifiques-aux-erb|find et les caractères spécifiques aux ERb]]\\ |
Pour l'illustration de find avec les ERe voir : | Pour l'illustration de find avec les ERe voir : | ||
+ | </note> | ||
+ | |||
* Soit le __répertoire parent__ des fichiers listés ci-dessous : | * Soit le __répertoire parent__ des fichiers listés ci-dessous : | ||
Ligne 442: | Ligne 445: | ||
Autrement dit, si on choisit d'utiliser les ERb, il faudra un antislash pour utiliser [[utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes?&#caracteres-specifiques-aux-erb|les caractères spécifiques aux ERb]] et ce sera inutile si on choisit les ERe. | Autrement dit, si on choisit d'utiliser les ERb, il faudra un antislash pour utiliser [[utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes?&#caracteres-specifiques-aux-erb|les caractères spécifiques aux ERb]] et ce sera inutile si on choisit les ERe. | ||
+ | Voir l'utilisation de [[utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes?&#locate-et-les-caracteres-specifiques-aux-erb|locate avec les caractères spécifiques aux ERb]]. | ||
Ligne 723: | Ligne 727: | ||
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 984: | Ligne 990: | ||
</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 1067: | Ligne 1073: | ||
</note> | </note> | ||
- | ====locate et les caractères spécifiques aux ERb ==== | + | ====find et les caractères spécifiques aux ERb " ==== |
- | Rappel\\ | + | __**Rappel **__\\ |
- | Pour utiliser les ERb, il faut utiliser l'option **''--regexp''**. | + | Pour utiliser les ERb, il faut utiliser l'option **''-regextype "posix-basic" ''**. |
- | === Préparation=== | + | __**Préparation**__\\ |
- | 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" : | + | Dans le répertoire de l'utilisateur soit le répertoire "ERetCMD/" contenant : |
- | <code user> | + | <code> |
- | touch image\ linux\ -\ 01.jpg image\ linux\ -\ 02.jpg image\ linux\ -\ 03.jpg | + | Dossier img-perso-2.jpg liste3-erb-ere sort1.txt |
+ | essai.grep2~ liste liste4-spec sort2.txt | ||
+ | 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> | ||
- | * Visualisation : | + | ===Exemples === |
- | <code user>ls</code> | + | * accolades (depuis le répertoire parent "ERetCMD/" des fichiers recherchés : |
+ | <code user>find -regextype "posix-basic" -regex ".*/[a-z]\{,3\}-.*\.jpg$"</code> | ||
<code> | <code> | ||
- | Dossier img-perso-1.jpg liste3-erb-ere smolski-exo-sed.txt | + | ./img-perso-2.jpg |
- | essai.grep2~ img-perso-2.jpg liste4-spec sort1.txt | + | ./img-perso-1.jpg |
- | image linux - 01.jpg liste1-nom liste4-spec~ sort2.txt | + | |
- | image linux - 02.jpg liste1-nom~ liste4-vim sort3.txt | + | |
- | image linux - 03.jpg liste2-nom server-0.xkb xxx-sort.txt | + | |
</code> | </code> | ||
- | * Mise à jour de la base de donnée : | + | * caractère \? : |
+ | <code user>find -regextype "posix-basic" -regex ".*/liste.\?"</code> | ||
+ | <code> | ||
+ | ./ERetCMD/liste1 | ||
+ | ./ERetCMD/liste | ||
+ | ./ERetCMD/liste2 | ||
+ | </code> | ||
+ | |||
+ | * le caractère \+ (depuis le répertoire parent "ERetCMD/" des fichiers) : | ||
+ | <code user>find -regextype "posix-basic" -regex ".*/liste.\+"</code> | ||
+ | <code> | ||
+ | ./liste2-nom | ||
+ | ./liste1-nom | ||
+ | ./liste3-erb-ere | ||
+ | ./liste4-vim | ||
+ | ./liste1 | ||
+ | ./liste4-spec | ||
+ | ./liste2 | ||
+ | ./liste-class | ||
+ | </code> | ||
+ | |||
+ | ====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 1105: | Ligne 1143: | ||
</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. | ||
- | ====find et les caractères spécifiques aux ERb " ==== | + | * caractère \+ : |
- | __**Rappel **__\\ | + | |
- | Pour utiliser les ERb, il faut utiliser l'option **''-regextype "posix-basic" ''**. | + | <code user>locate --regexp '/liste.\+'</code> |
- | + | <code> | |
- | __**Préparation**__\\ | + | /home/hypathie/Documents/PYTHON/python2/chap06/liste_et_branch.py |
- | + | /home/hypathie/Documents/PYTHON/python3/chap06/liste_et_branch.py | |
- | Dans le répertoire de l'utilisateur et dans le dossier "ERetCMD/" | + | /home/hypathie/ERetCMD/liste-class |
- | + | /home/hypathie/ERetCMD/liste1 | |
- | * Création de deux fichiers, "img-perso-1.jpg" et "img-perso-2.jpg" : | + | /home/hypathie/ERetCMD/liste1-nom |
- | + | /home/hypathie/ERetCMD/liste2 | |
- | <code user> | + | /home/hypathie/ERetCMD/liste2-nom |
- | touch img-perso-1.jpg img-perso-2.jpg | + | /home/hypathie/ERetCMD/liste3-erb-ere |
+ | /home/hypathie/ERetCMD/liste4-spec | ||
+ | /home/hypathie/ERetCMD/liste4-vim | ||
+ | /usr/share/man/man2/listen.2.gz | ||
</code> | </code> | ||
- | ===Exemples === | ||
- | <code user>find -regextype "posix-basic" -regex ".*/[a-z]\{,3\}-.*\.jpg$"</code> | + | >Le fichier "liste" (sans extension) n'apparaît pas. |
- | <code> | + | |
- | ./img-perso-2.jpg | + | |
- | ./img-perso-1.jpg | + | |
- | </code> | + | |
=====Les classes ===== | =====Les classes ===== |