BASHから特定のgrep行の後の行を削除する方法

BASHから特定のgrep行の後の行を削除する方法

Linux用の出力があります。

Size: 8192 MB
Locator: CPU0
Bank Locator: DIMM01

Size: No Module Installed
Locator: CPU0
Bank Locator: DIMM02

Size: 8192 MB
Locator: CPU0
Bank Locator: DIMM03

Size: No Module Installed
Locator: CPU0
Bank Locator: DIMM04

Size: 8192 MB
Locator: CPU0
Bank Locator: DIMM05

Size: No Module Installed
Locator: CPU0
Bank Locator: DIMM06

Size: 8192 MB
Locator: CPU1
Bank Locator: DIMM07

Size: No Module Installed
Locator: CPU1
Bank Locator: DIMM08

Size: 8192 MB
Locator: CPU1
Bank Locator: DIMM09

Size: No Module Installed
Locator: CPU1
Bank Locator: DIMM10

Size: 8192 MB
Locator: CPU1
Bank Locator: DIMM11

Size: No Module Installed
Locator: CPU1
Bank Locator: DIMM12

DIMM診断用です。 DIMMから「モジュールがインストールされていません」という出力を削除したいと思います。したがって、コマンドを実行すると、次のように表示されます。

Size: 8192 MB
Locator: CPU0
Bank Locator: DIMM01

Size: 8192 MB
Locator: CPU0
Bank Locator: DIMM03

Size: 8192 MB
Locator: CPU0
Bank Locator: DIMM05

Size: 8192 MB
Locator: CPU1
Bank Locator: DIMM07

Size: 8192 MB
Locator: CPU1
Bank Locator: DIMM09

Size: 8192 MB
Locator: CPU1
Bank Locator: DIMM11

「Locator:」と「Bank Locator:」の結果は必ずしも同じではないため、「Size: No memory Installed」を識別してから、次の2行を削除する必要があります。

ベストアンサー1

扱う改行文字 改行文字記録区切り記号で。 「インストール済みモジュールなし」が含まれていない一致レコード:

awk 'BEGIN { RS="\n\n"; ORS=RS } !/No Module Installed/' dimmsfile

おすすめ記事