Você precisa de quantificadores numéricos para isso:
sed -r 's/\b([0-9]{3})([0-9]{3})([0-9]{4})\b/--/' your_file
A opção -r , que permite expressões regulares estendidas, não é POSIX, portanto, uma solução mais portátil seria
perl -pe 's/\b([0-9]{3})([0-9]{3})([0-9]{4})\b/$1-$2-$3/' your_file
Em expressões regulares estendidas, o quantificador {n,m} significa corresponder ao átomo anterior pelo menos n times e no máximo m times. Por exemplo, o quantificador ? pode ser expresso como {0,1} . Omitir m significa que não há limite superior: + pode ser gravado como {1,} . Por fim, {n} significa que o átomo anterior corresponde exatamente a n times.
Se você quiser usar sed , você não precisa exatamente ter expressões regulares estendidas para isso; é só que o formulário básico de expressões regulares seria menos legível:
sed 's/\b\([0-9]\{3\}\)\([0-9]\{3\}\)\([0-9]\{4\}\)\b/--/' your_file