Как удалить строки, соответствующие регулярному выражению в vi? - PullRequest
3 голосов
/ 19 июля 2011

У меня большой текстовый файл со следующими заголовками, который я пытаюсь удалить.Например:

1 Nephi 2:13
 13 Neither did they believe that Jerusalem, that great city,
could be destroyed according to the words of the prophets. And
they were like unto the Jews who were at Jerusalem, who sought to
take away the life of my father.
1 Nephi 2:14
 14 And it came to pass that my father did speak unto them in the
valley of Lemuel, with power, being filled with the Spirit, until
their frames did shake before him. And he did confound them,
that they durst not utter against him; wherefore, they did as he
commanded them.
1 Nephi 2:15
 15 And my father dwelt in a tent.
1 Nephi 2:16

Я пытаюсь удалить всю строку, содержащую «1 Нефий 2:16», поэтому я ищу регулярное выражение в vi, которое соответствует всей строке, содержащей книгу иссылка на стих.

Ниже приведен список примеров комбинаций книг и стихов, которым необходимо соответствовать

1 Nephi 2:16
Mormon 3:7
Alma 32:27
Words of Mormon 1:3

Ответы [ 2 ]

4 голосов
/ 19 июля 2011

риффинг на ответ хаоса: если вы можете быть уверены, что любое совпадение строки, заканчивающейся двумя числами, разделенными двоеточием, будет заголовком:

:g/.* [0-9]\+:[0-9]\+$/d
2 голосов
/ 19 июля 2011
:g/1 Nephi 2:16/d
:g/Mormon 3:7/d
:g/Alma 32:27/d
:g/Words of Mormon 1:3/d

Эти команды означают, что «глобально ( g ) соответствует этому регулярному выражению ( / ... / ) и удаляется ( d ) каждой строки, гдеэто произошло ".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...