次のようなテキストがあるとします。
foobar 42 | ff 00 00 00 00
foobaz 00 | 0a 00 0b 00 00
foobie 00 | 00 00 00 00 00
bar 00 | ab ba 00 cd 00
00
の右側にないすべて|
を でラップするように変更したいが、 has()
の LHS にある場合に限る。望ましい結果:|
00
foobar 42 | ff 00 00 00 00
foobaz 00 | (0a) 00 (0b) 00 00
foobie 00 | 00 00 00 00 00
bar 00 | (ab) (ba) 00 (cd) 00
sed を使用してこれを行う良い方法はありますか、それとも言語の機能を超えて拡張しようとしていますか?
これまでの私の仕事は次のとおりです。
s/[^0]\{2\}/(&)/g
RHS値をラップします
/[^|]*00[^|]*|/
コマンドへのアドレスとして使用して、有効な行のみを操作できます
ここでのコツは、パターン スペースの一部で実行するコマンドを定式化することです。
これは実際には行指向ではないため、機能する表現を得るのに苦労している理由が説明できるかもしれません.