Символы ^ и $

10.8.4 Символы ^ и $

При выполнении сопоставления с шаблоном совпадение может произойти в любом месте строки. Якорные символы — это один из способов использования регулярных выражений для сужения результатов поиска. Они указывают, происходит ли совпадение в начале строки или в конце строки.

Например, шаблон rootвстречается в файле много раз /etc/passwd:

sysadmin@localhost:~/Documents$ grep 'root' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:1000:37::/root:

Символ вставки (циркумфлекс) ^используется для того, чтобы шаблон отображался в начале строки. Например, чтобы найти все строки, /etc/passwdначинающиеся с, rootиспользуйте шаблон ^root. Обратите внимание, что ^должен быть первый символ в шаблоне, чтобы быть эффективным:

sysadmin@localhost:~/Documents$ grep '^root' /etc/passwd
root:x:0:0:root:/root:/bin/bash

Второй символ привязки $можно использовать для обеспечения появления шаблона в конце строки, тем самым эффективно уменьшая результаты поиска. rЧтобы найти в файле строки, оканчивающиеся на alpha-first.txt, используйте шаблон r$:

sysadmin@localhost:~/Documents$ cat alpha-first.txt
A is for Animal
B is for Bear
C is for Cat
D is for Dog
E is for Elephant
F is for Flower
sysadmin@localhost:~/Documents$ grep 'r$' alpha-first.txt
B is for Bear
F is for Flower

Опять же, важно положение этого персонажа. Должен $быть последним символом в шаблоне, чтобы быть эффективным в качестве привязки.

Last updated