Re: [OT] duda de bash - subcadena
On Thu, Jul 19, 2012 at 08:13:52AM +0200, Mariano Cediel wrote:
> El día 18 de julio de 2012 23:00, Pablo Jiménez <pejimene@vtr.net> escribió:
> > sed -n '/::extNames/s/^..*::extNames\.([^ ][^ ]*) /\1/'
> >
>
> echo "UCD-SNMP-MIB::extNames.5 = STRING: chkraid" | sed -n
> '/::extNames/s/^..*::extNames\.([^ ][^ ]*) /\1/'
> sed: -e expresion #1, caracter 46: invalid reference \1 on `s'
> command's RHS
El flag -n lo puse demás y faltó el ``escaping'' de los paréntesis en la
subexpresión. Por eso el error de 'invalid reference \1'. La versión
correcta debiera ser:
sed '/::extNames/s/^..*::extNames\.\([^ ][^ ]*\) ..*$/\1/'
No ocupé el digits, dado que el formato en que se imprime la información
es uniforme: Tras "extNames.", viene el número y luego el espacio. Basta
entonces capturar los caracteres que no son un espacio en blanco antes
de que ocurra " =" en la línea.
Saludos.
--
Pablo Jiménez
Reply to: