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'?發佈一些示例輸入和期望的輸出,因爲這感覺很像這些問題中的一個,這些問題將通過一系列發佈的答案進行演變,然後是「哦,這不完全是我的意思」響應。 –