grepにエスケープされた複数行を単一行として処理させることはできますか?

grepにエスケープされた複数行を単一行として処理させることはできますか?

grepバックスラッシュでエスケープされた複数行を長い単一行として処理するなどのツールを作成する方法は?

次のようなファイルがあるとしましょう。

testvar=test1 \
        test2 \
        test3

othervar=oth1 \
         oth2

greptestvarを実行すると返されますが、testvar=test1 \返す方法はありますかtestvar=test1 test2 test3

このエスケープされた複数行を1行として処理する方法は?

ノート:を使用してこれを行うことができない場合や、同じ結果を得るなどのgrep他のツールを使用してこれを行う方法に関するヒントも歓迎します。sedawk

ベストアンサー1

ユースケースに応じて、awkフィールド区切り記号とレコード区切り記号を設定します。

awk 'BEGIN { FS="\n"; RS ="" } /testvar/' yourfile
testvar=test1 \
        test2 \
        test3

手動入力リファレンス複数行のレコード

おすすめ記事