如何替换 grep 输出中的行号分隔符

How to replace line number delimiter in grep output

我在做:

egrep -e "String" -in -A 2 file1.log

我得到的输出为

111:some text
112-some text
113-some text

如何将文件中每行开头的每个行号的 ^'[0-9]{1,9}-' 替换为 ^'[0-9]{1,9}:'?这样它看起来像:

111:some text
112:some text
113:some text

将输出通过管道传输到 sed。这在这里有效:

grep ... | sed 's/^\([0-9]\+\)-/:/'