如何在字符串中搜索特定单词/模式的最后一次出现并将其替换为另一个单词?
例如,搜索单词是aaa和替换单词是zzz
输入: aaa bbb ccc bbb aaa
期望的输出: aaa bbb ccc bbb zzz
s/aaa/zzz/替换第一个单词.是否有其他选项可以反向搜索?
x='aaa bbb ccc bbb aaa'
sed 's/\(.*\)bbb/\1zzz/' <<< "$x"
aaa bbb ccc zzz aaa
Run Code Online (Sandbox Code Playgroud)
sed 不支持环视,所以如果你想给 perl 一个机会:
perl -pe 's/aaa(?!.*?aaa)/zzz/' <<< "$x"
aaa bbb ccc bbb zzz
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4234 次 |
| 最近记录: |