オプション1

オプション1

次の行を含むテキストファイルがあります。

From:   arkit Corp. <[email protected]>

Sent:   Friday, June 16, 2017 6:35 PM

To:     User Name

Subject:        arkit Corp.: activity alert.


                 <http:// arkit.co.in/>

ACTIVITY ALERT FOR:

Ravi


https:// arkit.co.in/ Path Read (03/07/2017)

Path: /website/upload/file.txt


https:// arkit.co.in/ Path Read (04/07/2017)

Path: /website/upload/file1.txt



        Copyright ▒ 2017 arkit Corp.. All Rights Reserved.

次のように印刷したいと思います。

https:// arkit.co.in/ Path Read (03/07/2017) Path: /website/upload/file.txt
https:// arkit.co.in/ Path Read (04/07/2017) Path: /website/upload/file1.txt

並べて印刷する方法を提案できる人はいますか?

ベストアンサー1

メッセージ全体を解析するには、次のように「アドレス」を使用します。

sed -n '/https:/h;/Path:/{H;g;s/\n/ /p;}' yourfile

デフォルトでは出力されません(-n)。それで始まる行をhttps:メンテナンスバッファに入れてから、Path:その行をメンテナンスバッファに追加し、パターン空間に移動し、改行を空白に置き換えます。

または他の方法:

sed -e '/^https:/!d;:a' -e '$!N;/Path:/!ba' -e 's/\n\n*/ /' yourfile

つまり、行がhttps:()で始まらない場合は削除してください/^https:/!d。それ以外の場合は、行を追加するまでループ(:a)を開始して新しい行(存在する場合)を追加します()。 。最後に、すべてを1行に入れるために、改行を空白に置き換えます()。$!NPath:/Path:/!bas/\n\n*/ /

おすすめ記事