Я бы даже не стал использовать grep
в приведенном вами примере, он достаточно прост, чтобы его обрабатывалcut
:
$ echo name:phone:example@example.com | rev | cut -d: -f1 | rev
example@example.com
РЕДАКТИРОВАТЬ:
Но если вы хотите, grep
было бы что-то вроде этого:
$ echo name:phone:example@example.com | grep -oE '[a-zA-Z]+@[a-zA-Z]+\.com'
example@example.com
Обратите внимание, что +
используется вместо one or more instances
предыдущего символа в регулярных выражениях, и что -E
необходимо использовать с grep, чтобы это работало:
-E, --extended-regexp
Interpret PATTERN as an extended regular expression (ERE, see below).
(-E is specified by POSIX.)
Хорошо, я думаю, решение состоит в том, чтобы изменить кодировку Vim, открыв.vimrc и введя
set encoding=utf-8
set fileencoding=utf-8
, а затем сохраните файл.
поместите это в свой.vimrc
set encoding=utf-8
Как это говорит vim.stackexchange в Укажите кодировку UTF -8 в Vimrc