行を分割し、特定の文字を使用して新しい行に印刷します。

行を分割し、特定の文字を使用して新しい行に印刷します。

パターンが一致する場合は、行を分割して次の行に印刷する必要があります。

私が持っているように:

ABC123xxx:: 2345 ABC345yyy:: 5678 ABC986zzz:: 7955

ABCパターンが表示されたら新しい行で印刷したいです。

ABC123xxx:: 2345
ABC345yyy:: 5678
ABC986zzz:: 7955

ベストアンサー1

sed -E -e 's/ (ABC)/\n\1/g' 

このコマンドは、ABCが続く改行文字sedのすべてのインスタンスを置き換えます。一致の一部(前にスペースを入れずに)をキャプチャして置換項目に含めるためにABC使用されます。()ABC\1

例えば

$ echo 'ABC123xxx:: 2345 ABC345yyy:: 5678 ABC986zzz:: 7955'| 
    sed -E -e 's/ (ABC)/\n\1/g'
ABC123xxx:: 2345
ABC345yyy:: 5678
ABC986zzz:: 7955

おすすめ記事