テキストファイルの特定の部分を選択して他のファイルに印刷/保存したいです。
特定のパターンが一致すると選択が開始され、他のパターンが一致すると選択が終了します。 awkなしでこれを行う必要があります。 sedを使用しようとしています。
- 見つかったら選択を始めてください。予想される
- 見つかるまで実際
> |e|build_event_details_json(e) })
expected collection contained: [{"id"=>18646, "state"=>"available", "salesEndAtUtc"=>"2018-09-22T00:00:00.000Z",actual collection contained: [{"id"=>18646
答えは
> expected collection contained: [{"id"=>18646, "state"=>"available", "salesEndAtUtc"=>"2018-09-22T00:00:00.000Z",
ベストアンサー1
非常にエレガントでも効率的でもありませんが、作業を完了します。
sed 's/actual/\n&/' file | sed -n '/expected/,/actual/p' | sed '$d'
expected collection contained: [{"id"=>18646, "state"=>"available", "salesEndAtUtc"=>"2018-09-22T00:00:00.000Z",
多分少し良いかもしれません(GNUを使用sed
):
sed -n '/expected/,$ {s/actual.*$//; p; T; q; } ' file
このT
コマンドが利用できない場合は試してください。
sed -n '/expected/,$ {s/actual.*$//; p; tL; b; :L; q; } ' file