Mi comando sed es,
sed '/(.*:)/d' <<< 'abcd:bcde:cdeaf'
Debe volver,
bcde:cdeaf
(es decir, todos los caracteres anteriores al primer colon de la línea y el mismo colon deben eliminarse).
Pero esto no elimina nada.
Mi confusión surge principalmente debido a,
1) ¿Es necesario escapar a los parens para la coincidencia de patrones dentro de las expresiones regulares sed?
2) En cualquier caso (con escape / sin escpaing), no está funcionando. Lo intenté,
sed -E '/\\(.*:\\)/d' <<< 'abcd:bcde'
printf "%s\n" "${line#*:}"...
while read lineque obtiene el $line, probablemente seddebería preferirse.
sed 's/[^:]*://'. Y no estádeligiendo la línea de entrada, por cierto, la está modificando con uns///comando de sustitución. Debe reemplazar el primer bit que no es de dos puntos y el punto que le sigue con nada en absoluto.