Você só precisa de n . dots.
n=[num]
sed "s/.\{$n\}keyword/REPLACE/"
... onde [num] deve representar um número inteiro positivo deve funcionar.
Note que é diferente de .*keyword em pelo menos alguns aspectos importantes.
-
.*aplica-se a qualquer / todos os caracteres que ocorrem antes da última ocorrência dekeywordno padrão desedespaço, e se houver várioskeywordscorrespondidos de uma só vez,.*consumirá todos menos o último deles.-
.\{[num]\}keywordcorresponderá apenas à ocorrência primeira do padrão que pode ser encontrado no espaço padrão.
-
-
.\{[num]\}irá exigir pelo menos[num]-contar caracteres para ocorrer antes palavra-chave para se qualificar uma correspondência, ao passo que.*pode corresponder akeyword, mesmo que seja encontrado à frente de uma linha.-
Uma expressão que mais se assemelha a esse comportamento, pois corresponderá a até
[num]caracteres que ocorrem antes dekeywordser ...sed "s/.\{0,$n\}keyword/REPLACE/"
-