Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

Ancres

Le caret (^) et le signe dollar ($) les caractères sont traités comme ancres dans les expressions régulières. Cela signifie qu'ils provoquent la correspondance uniquement si l'expression régulière est trouvée au début de la ligne (^) ou en fin de ligne ($):


[moi@linuxbox ~]$ grep -h '^zip' dirlist*.txt

zip zipcloak zipgrep zipinfo zipnote zipsplit

[moi@linuxbox ~]$ grep -h 'zip$' dirlist*.txt

gunzip gzip funzip gpg-zip preunzip preunzip unzip zip

[moi@linuxbox ~]$ grep -h '^zip$' dirlist*.txt

Zip *: français

[moi@linuxbox ~]$ grep -h '^zip' dirlist*.txt

zip zipcloak zipgrep zipinfo zipnote zipsplit

[moi@linuxbox ~]$ grep -h 'zip$' dirlist*.txt

gunzip gzip funzip gpg-zip preunzip preunzip unzip zip

[moi@linuxbox ~]$ grep -h '^zip$' dirlist*.txt

Zip *: français


image

Ici, nous avons recherché dans la liste des fichiers la chaîne « zip » située au début de la ligne, à la fin de la ligne et sur une ligne où elle se trouve à la fois au début et à la fin de la ligne (c'est-à-dire seule sur la ligne). Notez que l'expression régulière '^$' (un début et une fin sans rien entre les deux) correspondra aux lignes vides.


Un assistant de mots croisés

Même avec notre connaissance limitée des expressions régulières à ce stade, nous pouvons faire quelque chose d'utile.

Ma femme adore les mots croisés et elle me demande parfois de l'aide pour une question particulière. Quelque chose comme « Qu'est-ce qu'un mot de cinq lettres dont la troisième lettre est 'j' et la dernière lettre est 'r' qui signifie... ? » Ce genre de question m'a fait réfléchir.

Saviez-vous que votre système Linux contient un dictionnaire ? Cela fait. Jetez un œil dans le /usr/share/dict répertoire et vous pourriez en trouver un, ou plusieurs. Les fichiers de dictionnaire qui s'y trouvent ne sont que de longues listes de mots, un par ligne, classés par ordre alphabétique. Sur mon système, le des mots le fichier contient un peu plus de 98,500 XNUMX



image

mots. Pour trouver des réponses possibles à la question des mots croisés ci-dessus, nous pourrions faire ceci :

[moi@linuxbox ~]$ grep -i '^..jr$' /usr/share/dict/words

Majeure majeure

En utilisant cette expression régulière, nous pouvons trouver tous les mots dans notre fichier de dictionnaire qui sont longs de cinq lettres et ont un « j » en troisième position et un « r » en dernière position.


Meilleur système d'exploitation Cloud Computing chez OnWorks :