5

文字列内の特定の単語/パターンの最後の出現を検索し、それを別の単語に置き換える方法は?

たとえば、検索語はaaa、置換語はzzz

入力:aaa bbb ccc bbb aaa

望ましい出力:aaa bbb ccc bbb zzz

s/aaa/zzz/最初の単語を置き換えます。逆に検索する追加のオプションはありますか?

4

2 に答える 2

5

sed を使用:

x='aaa bbb ccc bbb aaa'
sed 's/\(.*\)bbb/\1zzz/' <<< "$x"

aaa bbb ccc zzz aaa

perl コマンドラインを使用:

sed はルックアラウンドをサポートしていないため、perl にチャンスを与えたい場合:

perl -pe 's/aaa(?!.*?aaa)/zzz/' <<< "$x"

aaa bbb ccc bbb zzz
于 2013-09-26T18:33:48.247 に答える