2011-07-19 12 views
2

私は削除しようとしている次の見出しを持つ大きなテキストファイルを持っています。たとえば、次のようにviで正規表現にマッチする行を削除するにはどうしたらいいですか?

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 

答えて

3

混乱の答えにリフ:あなたはコロンで区切られた2つの数字で終わる行のいずれかの発生率は、ヘッダーになることを確認することができた場合:

:g/.* [0-9]\+:[0-9]\+$/d 
+0

魅力的なように働いていました!ありがとう! – random21

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

と一致する必要が例の本や詩組み合わせのリストです(d)発生した行を削除してください。

+0

はちょうど「1ニーファイ2以上に一致する必要があります: 16 "、上記のリストを参照してください。 – random21

+0

'(foo | bar | baz)'を使ってすべてを1つの正規表現にまとめることができますが、状況が必要な場合を除いて複雑さを加えるのは無意味です。 – chaos

+0

':g/\ d:\ d + $/d'か':g/[0-9]:[0-9] + $/d'はviで使えますか? –

関連する問題