How to search for the last occurrence of a particular word/pattern in a string and replace it with an another word?
For example, Search word is aaa
and Replace word is zzz
Input: aaa bbb ccc bbb aaa
Desired Output: aaa bbb ccc bbb zzz
s/aaa/zzz/
replaces first word. Is there any additional option to search reverse?
x='aaa bbb ccc bbb aaa'
sed 's/\(.*\)bbb/\1zzz/' <<< "$x"
aaa bbb ccc zzz aaa
sed doesn't support lookarounds so if you want to give perl a chance:
perl -pe 's/aaa(?!.*?aaa)/zzz/' <<< "$x"
aaa bbb ccc bbb zzz
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With