0

Windows 7 で gVim 7.4.68 を使用しています。以下に示す内容のテキスト ファイルがあります。以下に示す 2 つのエントリは、単なる例です。テキスト ファイルには、疑似名、Symmetrix ID、論理デバイス、状態/ポリシー、およびパス関連情報を含む数百のフィールドがあります。

Pseudo name=emcpowermg
Symmetrix ID=000123456781234
Logical device ID=01D3
state=alive; policy=SymmOpt; priority=0; queued-IOs=0
==============================================================================
---------------- Host ---------------   - Stor -   -- I/O Path -  -- Stats ---
###  HW Path                I/O Paths    Interf.   Mode    State  Q-IOs Errors
==============================================================================
   1 qla2xxx                   sdga      FA 10bA   active  alive      0      1
   0 qla2xxx                   sdgb      FA  7bA   active  alive      0      0

Pseudo name=emcpowerdl
Symmetrix ID=000123456780000
Logical device ID=0427
state=alive; policy=SymmOpt; priority=0; queued-IOs=0
==============================================================================
---------------- Host ---------------   - Stor -   -- I/O Path -  -- Stats ---
###  HW Path                I/O Paths    Interf.   Mode    State  Q-IOs Errors
==============================================================================
   1 qla2xxx                   sdaca     FA  9bA   active  alive      0      0
   0 qla2xxx                   sdaci     FA  8bA   active  alive      0      0

ファイル全体が次のようなエントリで満たされるように、Symmetrix ID と論理デバイス以外のすべてを除外したいだけです。

Symmetrix ID=000123456781234
Logical device ID=01D3
Symmetrix ID=000123456780000
Logical device ID=042

試した:

%v/^Symmetrix.*\nLogical/d

%v/^Symmetrix.*\rLogical/d

次に、^Mが正しく表示されるように、ものをコピーして貼り付けてみました:

%v/^Symmetrix.*^M^Logical/d

しかし、これはどれも機能しません。何もフィルタリングされず、空白の画面が表示されます。どこが間違っているのか教えてください。

私は最近 gVim を使い始めましたが、まだコツをつかんでいます。

よろしく、pmu

4

1 に答える 1

4

このコマンドは、指定されたサンプルで機能します。

:v/^\(Symmetrix\|Logical\)/d

SymmetrixorLogicalで始まらない行を探してd削除します。

\verymagicのおかげでバックスラッシュが少ない同じコマンド:

:v/^\v(Symmetrix|Logical)/d

(編集) 試みが失敗した主な理由は、パターンにa を導入したとしても、実際にSymmetrixは行に一致するが、行には一致しないことです: パターンが複数の行にまたがる場合、実際に一致する行は最初の行であり、そうではありませんパターンでターゲットにした 2 つのライン。Logical\nLogical

于 2013-11-10T18:52:12.827 に答える