Я опробую токены привязки конец строки $ и начало строки ^ из регулярного выражения в качестве части руководства. Однако работает только маркер начала строки. Очевидно, что в руководстве оба токена работают.
Якорный токен $ (не работает)
Входной файл regex16.txt
foo bar baz
bar foo baz
baz foo bar
bar baz foo
foo baz bar
baz bar foo
Команда
grep '.*bar$' regex16.txt
Ожидаемый результат
baz foo bar
foo baz bar
Результат
Команда od -bc regex16.txt
0000000 146 157 157 040 142 141 162 040 142 141 172 015 012 142 141 162
f o o b a r b a z \r \n b a r
0000020 040 146 157 157 040 142 141 172 015 012 142 141 172 040 146 157
f o o b a z \r \n b a z f o
0000040 157 040 142 141 162 015 012 142 141 162 040 142 141 172 040 146
o b a r \r \n b a r b a z f
0000060 157 157 015 012 146 157 157 040 142 141 172 040 142 141 162 015
o o \r \n f o o b a z b a r \r
0000100 012 142 141 172 040 142 141 162 040 146 157 157 015 012
\n b a z b a r f o o \r \n
0000116
Другой файл
Сейчас после манипуляции вручную другой файл regex19.txt выглядит следующим образом
0000000 154 151 157 156 012 164 151 147 145 162 012 154 145 157 160 141
l i o n \n t i g e r \n l e o p a
0000020 162 144 012 146 157 170 012 153 141 156 147 141 162 157 157 012
r d \n f o x \n k a n g a r o o \n
0000040 142 141 164 012 155 157 165 163 145 012 143 165 143 153 157 157
b a t \n m o u s e \n c u c k o o
0000060 012 144 145 145 162 012
\n d e e r \n
Но эта команда по-прежнему не работает, даже пример regex16.txt теперь работает после манипуляций.
grep '^[a-z]{4,6}$' regex19.txt
Якорный токен ^ (рабочий)
Входной файл regex15.txt
foo bar baz
bar foo baz
baz foo bar
bar baz foo
foo baz bar
baz bar foo
Команда
grep '^foo.*' regex15.txt
Ожидаемый результат
foo bar baz
foo baz bar
Результат
foo bar baz
foo baz bar