sed:パターンを一致させ、後に表示される他のパターンをそれぞれ置き換えます。 [閉じる]

sed:パターンを一致させ、後に表示される他のパターンをそれぞれ置き換えます。 [閉じる]

私が持っていてそれが同じパターンであると仮定aaaaabaaaaaします。ab

パターンマッチングを実行してから「以降」aaaaaabを「すべて」に置き換えますが、「以前」は置き換えない方法は何ですか?aaaaabbab

ベストアンサー1

sedでは複雑すぎますが、Perlでははるかに簡単です。

perl -pe '/b/g and substr($_, pos) =~ s/a/A/g'

最初の一致は、位置が設定されている文字列の/b/g最初の項目と一致します。その後、その場所から始まる部分文字列が置き換えられます。bpos

おすすめ記事