7

我有一个这样的字符串:

test:blabla

使用 sed,我想用其他东西替换 ':' 之后的内容。

我可以设法替换一个单词,但不能替换“:”之后的那个。我在互联网上搜索了答案,但我没有找到任何东西。

有什么帮助吗?

4

2 回答 2

17

采用:sed 's/:.*/:replaceword/'

$ echo test:blabla | sed 's/:.*/:replaceword/'
test:replaceword

或者对于test test:blabla test您只想替换以下单词的:情况 sed 's/:[^ ]*/:replaceword/'

$ echo "test test:blabla test" | sed 's/:[^ ]*/:replaceword/'
test test:replaceword test

# Use the g flag for multiple matches on a line
$ echo "test test:blabla test test:blah2" | sed 's/:[^ ]*/:replaceword/g'
test test:replaceword test test:replaceword
于 2013-01-07T11:13:21.770 回答
4
> echo $SER2
test:blabla
> echo $SER2 | sed 's/\([^:]*:\).*/\1replace/g'
test:replace
>
于 2013-01-07T11:14:01.683 回答