El Mon, 09 Aug 2010 17:49:33 +0200, koxkorrita escribió:
Hola estoy intentando hacer un scrijpt en shell que me saque de una cadena lo que consiente las etiquetas com:sendID y como esto:
asdfasdfias rpriawepripiew qrpqwier pqiwerqwe opir no lo consgo. Me podeis ayudar?
¿No te sirvió lo que te envié? :-? Ah, ya veo... cuando el XML está todo en una misma línea, sin saltos de texto, no lo toma bien. Pues busca por la web porque hay un montón de "one-liners". Otro ejemplo: *** #/bin/bash #ruta al archivo xml LINEA="$HOME/Desktop/test.xml" SENDID=`sed -r "s/com:send_ID([^<]+)<\/com:send_ID>/\nsend_ID: \1\n/g" $LINEA | grep ^send_ID: | sed -r "s/^send_ID: //g"` echo "----------------------" echo $SENDID echo "----------------------" *** (no preguntes, es otro copia/pega :-P)
ah, la cadena de arriba esta cotnenida dentro de otra más grande. he hecho esto: id=`echo $LINEA | sed "s/
//g" | sed "s///g"` con el objetibo de en la variable i tener el valor... pero no lo consgo.
me podéis ayudar por favor?
Y también te comentaba más tarde que para la manipulación de archivos XML es mejor usar "xml_grep", que sirve precisamente para lo que buscas. Saludos, -- Camaleón -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org