SEDまたは他のコマンドを使用して2行目に列ベースの一致を追加するにはどうすればよいですか?

SEDまたは他のコマンドを使用して2行目に列ベースの一致を追加するにはどうすればよいですか?

zcat私のコマンドの結果は次のとおりです。

1 - URL Template: https://www.test.com

2 - Response: <200 OK,{Server=[nginx], Date=[Wed, 11 May 2022 01:05:06 GMT], Content-Type=[text/html; charset=UTF-8], Transfer-Encoding=[chunked], Connection=[keep-alive], Vary=[Accept-Encoding]}>

呼び出しの行2の結果を以下のように行1に追加したいと思います。

URL Template: https://www.test.com <200 OK,{Server=[nginx], Date=[Wed, 11 May 2022 01:05:06 GMT], Content-Type=[text/html; charset=UTF-8], Transfer-Encoding=[chunked], Connection=[keep-alive], Vary=[Accept-Encoding]}>

できますか?

ベストアンサー1

簡単なコマンドはどうですかawk

$ awk -F "1 - |2 - Response:" 'NF>1 {printf "%s",$2} END{print ""}' input_file
URL Template: https://www.test.com <200 OK,{Server=[nginx], Date=[Wed, 11 May 2022 01:05:06 GMT], Content-Type=[text/html; charset=UTF-8], Transfer-Encoding=[chunked], Connection=[keep-alive], Vary=[Accept-Encoding]}>

空行を無視して処理します。

以下を想定します。

  • 空でない2行は常に固定順序で最初に表示され、その後1 - URL Template: ...に表示されます2 - Response: ...
  • 表示される 2 行間にスペース以外の行は表示されません。それ以外の場合は追加のロジックが必要です。そのような変更は簡単です。
  • 2つの文字列「1 -」と「2 - 応答:」は、各行の先頭に一度だけ表示されます。

おすすめ記事