O padrão [a-z]* corresponde a zero ou mais caracteres no intervalo a a z (os caracteres reais dependem da localidade atual). Não há zero tais caracteres no início da string 123 abc (ou seja, o padrão corresponde) e também quatro deles no início de this is a line .
Se você precisar de pelo menos uma correspondência, use [a-z][a-z]* ou ative as expressões regulares estendidas com sed -E e use [a-z]+ .
Para visualizar onde o padrão corresponde, adicione parênteses em torno de cada correspondência:
$ sed 's/\([a-z]*\)/()/' file
()123 abc
(this) is a line
Ou com uma correspondência repetida:
$ sed 's/\([a-z]*\)/()/g' file
()1()2()3() (abc)
(this) (is) (a) (line)
Compare esse último resultado com
$ sed -E 's/([a-z]+)/()/g' file
123 (abc)
(this) (is) (a) (line)