Bash スクリプトヘルプ - テキストの解析と出力

Bash スクリプトヘルプ - テキストの解析と出力

次の種類のテキストファイルがあります。

a  b   c               d
-- -- --              --
1  ok device issue   Some Action which 
                     has to be taken which 
                     is split into many lines
                     under d.

「問題」をgrepingしようとしましたが、「d」の最初の行だけが印刷されました。私が得た結果は次のとおりです。

1  ok device issue   Some Action which 

しかし、私はdの完全な出力が欲しい。ファイルをcsvとして保存しようとすると、d列の2行目が新しい行として表示されます。

編集する:

問題のあるデバイスを探す変数に格納されている複数のデバイスから出力を取得します。

ベストアンサー1

これには複数行のgrepが必要です。これを行うには、PCREオプションを有効にする必要があります-P 。 grep は-zslurp モードで Null で区切られたレコードを出力するため、tr コマンドを使用してこれらのレコードを削除します。

$ < file grep -Pzo '.*\S.*issue.*\n(?:\h+.*\n)+'  | tr -d '\0'

おすすめ記事