sedで空白または改行文字を一致させる

sedで空白または改行文字を一致させる

読んで検索しましたが、何が問題なのかわかりません。スペース、文字列00011、スペースまたは新しい行を一致させたい。

sed 's:\(\s\)\(00011\)\([\s\n]\):\1$03\3:g'

編集:データは次のとおりです。

ADD    00000 00001 00011
LSH    00011 00100 01111
ADD    00011 10100 00010
JSR    00011101000111010101100010

そして、$03置き換える文字列だけが必要です。00011

私は次のような結果を得たいと思います:

ADD    00000 00001 $03
LSH    $03 00100 01111
ADD    $03 10100 00010
JSR    00011101000111010101100010

ありがとう

ベストアンサー1

sedは一度に1行ずつ処理し、各行を処理するときに改行文字を削除します。

$したがって、目的の操作を実行するには、リテラル改行の代わりに行末アンカー()を一致させる必要があります。

これは働きます:

sed 's:\(\s\)\(00011\)\(\s\|$\):\1$03\3:g'

おすすめ記事