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 [14/08/2014 16:48] Hypathie [Introduction] |
utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes [14/08/2014 18:41] Hypathie [Introduction] |
||
---|---|---|---|
Ligne 145: | Ligne 145: | ||
</code> | </code> | ||
- | *Point d'interrogation : | + | * Le point d'interrogation : |
<code user>find ~/ERetCMD/Dossier/ -name "titi?"</code> | <code user>find ~/ERetCMD/Dossier/ -name "titi?"</code> | ||
Ligne 165: | Ligne 165: | ||
===locate === | ===locate === | ||
- | <note tip> | ||
- | Pour utiliser locate, qui fonctionne à partir de la base de donnée, faire un petit : | ||
- | <code root> # updatedb</code> | ||
- | pour effectuer les mises à jour, avant de lancer la recherche. | ||
- | </note> | ||
- | *Soit le même répertoire "~/ERetCMD/" ; y créer les fichiers suivants : | + | * Préparation : |
+ | |||
+ | Soit le même répertoire "~/ERetCMD/" ; y créer les fichiers suivants : | ||
<code user> | <code user> | ||
touch liste liste1 liste1-nom liste2\ | touch liste liste1 liste1-nom liste2\ | ||
Ligne 191: | Ligne 188: | ||
img-perso-1.jpg liste2 liste-class sort3.txt | img-perso-1.jpg liste2 liste-class sort3.txt | ||
</code> | </code> | ||
+ | |||
+ | <note tip> | ||
+ | Pour utiliser locate, qui fonctionne à partir de la base de donnée, faire un petit : | ||
+ | <code root> # updatedb</code> | ||
+ | pour effectuer les mises à jour, avant de lancer la recherche. | ||
+ | </note> | ||
* Rechercher les fichiers dont le nom est "un ou plusieurs caractères suivi de ".txt" : | * Rechercher les fichiers dont le nom est "un ou plusieurs caractères suivi de ".txt" : | ||
Ligne 202: | Ligne 205: | ||
/home/hypathie/ERetCMD/sort3.txt | /home/hypathie/ERetCMD/sort3.txt | ||
+ | </code> | ||
+ | |||
+ | ===sed=== | ||
+ | |||
+ | * Prépararation : | ||
+ | Se déplacer au niveau du "~/ERetCMD/Dossier" | ||
+ | |||
+ | <code user>sed -r '/(a|e).*/s/a/A/' ti*</code> | ||
+ | |||
+ | > L'expression rationnelle est constituée de l'alternative ''(a|e)'' (la sous-chaîne "a" ou "e"), suivi d'un caractère quelconque zéro ou plusieurs fois. | ||
+ | >Cela sera approfondit dans la partie [[utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes#caracteres-specifiques-aux-erb-ou-caracteres-specifiques-aux-ere|Caractères spécifiques aux ERb ou caractères spécifiques aux ERe]] | ||
+ | |||
+ | <code> | ||
+ | un copAin malin | ||
+ | documentAtion | ||
+ | modifiAnt cette page | ||
+ | frAise | ||
+ | suivAnte | ||
+ | Toto Titi toto titi tito | ||
+ | dAns | ||
+ | frAise fraise | ||
+ | en | ||
+ | Toto titi toto tito | ||
+ | . | ||
+ | Toto Titi | ||
+ | dent | ||
+ | titi Aime les fraises | ||
+ | Il mAnque une option a tito | ||
+ | </code> | ||
+ | |||
+ | ===awk === | ||
+ | |||
+ | *Préparation : | ||
+ | Dans le dossier "~/ERetCMD/Dossier" créer les fichiers "smolski-awk.txt" et "smolski-sed.txt": | ||
+ | <code user> | ||
+ | touch smolski-awk.txt && cat >> smolski-sed.txt <<EOF | ||
+ | toto et titi aiment les abricots. | ||
+ | toto préfère les Fraises. | ||
+ | titi les cerises. | ||
+ | TOTo et TITI sont des chipoteurs du jardin. | ||
+ | EOF | ||
+ | </code> | ||
+ | |||
+ | <code user>touch smolski-sed.txt && cat >> smolski-awk.txt <<EOF | ||
+ | 1 3 Nom Genre Age | ||
+ | 2 1 --------------------------------------- | ||
+ | 3 3 CAMILLE M 7 | ||
+ | 4 3 CHLOE F 12 | ||
+ | 5 3 CLARA F 11 | ||
+ | 6 3 CLEMENT M 7 | ||
+ | 7 3 EMMA F 6 | ||
+ | 8 3 THEO M 8 | ||
+ | EOF | ||
+ | </code> | ||
+ | |||
+ | * Utilisation d'une ER et de métacaractère avec awk : | ||
+ | <code user>awk '$3 ~ /(e|E)/' smolski-*</code> | ||
+ | |||
+ | >Affiche les lignes dont la troisième colonne comporte un "e" ou un "E" de TOUS les fichiers du répertoire "~/ERetCMD/Dossier" commençant par "smolski-". | ||
+ | >Le caractère ''~'' (tilde) est un opérateur de correspondance relevant de la commande awk. | ||
+ | >Il permet de tester la correspondance entre la variable ''$3'' et l'expression rationnelle encadrée de ''/'' (''/(e|E)/''). Voir [[doc:programmation:awk|awk]] et [[http://wiki.debian-facile.org/utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes#awk-et-les-caracteres-communs-aux-erb-et-ere|awk et les expressions rationnelles]] | ||
+ | |||
+ | <code> | ||
+ | 3 3 CAMILLE M 7 | ||
+ | 4 3 CHLOE F 12 | ||
+ | 6 3 CLEMENT M 7 | ||
+ | 7 3 EMMA F 6 | ||
+ | 8 3 THEO M 8 | ||
+ | toto préfère les Fraises. | ||
+ | titi les cerises. | ||
</code> | </code> | ||
<note tip> | <note tip> | ||
- | *__sed et awk__\\ Ces commandes étant faites pour travailler le contenu des fichiers, et non pour la recherche de fichiers, elles n'utilisent pas les métacaractères du shell. | + | Pour vi (vim), il faut avoir ouvert le fichier pour utiliser les expressions rationnelles, |
+ | mais on peut utiliser les métacaractères pour ouvrir plusieurs fichiers en même temps.\\ | ||
+ | |||
+ | Par exemple en étant au niveau du fichier "~/ERetCMD/Dossier" : | ||
+ | |||
+ | <code user>vim smolski-*</code> | ||
+ | |||
+ | Les fichiers "smolski-awk.txt" et "smolski-sed.txt" seront ouverts.\\ | ||
+ | Et pour passer de l'un à l'autre : on tape au clavier '':next'', pour passer au second, si on se trouve devant le premier;\\ | ||
+ | ou '':previous'', si l'on se trouve devant le second et qu'on veut revenir au premier. | ||
+ | D'autres exemples un peu plus détaillés sur [[utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes#la-commande-sed-et-les-caracteres-communs-aux-erb-et-ere|sed]], [[utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes#awk-et-les-caracteres-communs-aux-erb-et-ere|awk]] et [[utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes#l-editeur-de-texte-vi-n-utilise-aussi-que-les-erb|vim]] seront donnés. | ||
</note> | </note> | ||