0
A
回答
0
我猜你没有要求确切的词语匹配,(有字的边界)来代替。这很容易。我想你想要做字符串替换,如:
foofoofoodfoofood
这里是一个sed线,这可能会在这方面努力:
sed 's/food/\x99/g; s/foo/___/g; s/\x99/food/g'
它取代foo
与___
。但叶food
,看到测试:
kent$ echo "foofoofoodfoofood"|sed 's/food/\x99/g; s/foo/___/g; s/\x99/food/g'
______food___food
如果你真正需要的单词边界的解决方案:
kent$ echo "foo foo food foo food"|sed 's/\bfoo\b/___/g'
___ ___ food ___ food
1
如果你打开替代的sed,Perl的环视断言是有帮助的:
$ perl -E '$s="foofoofoodfoofood"; $s=~s/foo(?!d)/bar/g; say $s'
barbarfoodbarfood
2
这可能为你工作(GNU SED):
sed -r ':a;s/foo([^d]|$)/xxx\1/;ta' file
这取代foo
和以下字符,除非它是d
。
相关问题
- 1. sed替换吃不匹配的模式
- 2. 替换匹配特定模式
- 3. 替换为模式匹配
- 4. 正则表达式匹配模式,除非它以特定字符串结尾
- 5. 替换表达式和匹配模式
- 6. sed搜索替换模式
- 7. 使用sed替换模式
- 8. 使用sed替换模式
- 9. mod_rewrite,匹配特定模式
- 10. 正则表达式匹配特定模式排除特定模式
- 11. 的Java模式匹配特定模式来匹配
- 12. sed:模式匹配后在N行上执行替换
- 13. 使用sed命令,替换行,但不能匹配模式
- 14. 用sed替换字符串 - 只有在模式匹配
- 15. 查找替换字符串不匹配特定模式
- 16. XSLT 2.0:替换模式匹配特定标准
- 17. 匹配模式和HTML标签替换
- 18. 替换模式匹配字符串
- 19. 模式匹配中的变量替换?
- 20. 模式匹配和替换R中
- 21. 模式匹配和替换函数
- 22. preg_replace使用匹配的替换模式
- 23. MySQL的模式匹配和替换
- 24. 在R中匹配模式和替换
- 25. sed命令来删除启动模式匹配特殊字符在它
- 26. 排除某些模式?
- 27. validates_format_of排除某些模式
- 28. 打印匹配和非匹配模式
- 29. 匹配模式,然后替换使用模式
- 30. 使用glob排除某些文件的负模式匹配
为什么它必须是'sed'?发布一些示例输入和期望的输出,因为这感觉很像这些问题中的一个,这些问题将通过一系列发布的答案进行演变,然后是“哦,这不完全是我的意思”响应。 –