我有一个这样的字符串:
test:blabla
对于sed,我想用':'替换之后的东西。
我可以设法替换一个单词,但不能替换':'之后的单词。我在网上搜索了答案,但我没有找到任何东西。
任何帮助?
答案 0 :(得分:9)
使用: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
答案 1 :(得分:3)
> echo $SER2
test:blabla
> echo $SER2 | sed 's/\([^:]*:\).*/\1replace/g'
test:replace
>