Tengo un archivo de texto con varias entradas. Cada entrada termina con una línea que contiene todos los asteriscos.¿Cómo puedo asignar la coincidencia de mi expresión regular a una variable?
Me gustaría utilizar comandos de shell para analizar este archivo y asignar cada entrada a una variable. ¿Cómo puedo hacer esto?
Aquí hay un ejemplo de archivo de entrada:
*********** Field1 *********** Lorem ipsum Data to match *********** More data Still more data ***********
Esto es lo que mi solución parece hasta el momento:
#!/bin/bash
for error in `python example.py | sed -n '/.*/,/^\**$/p'`
do
echo -e $error
echo -e "\n"
done
Sin embargo, esto sólo asigna a cada palabra en el texto que coincide con $ error, en vez que un bloque completo.
De hecho, sería bueno si hubiera una guía definitiva para bash expresiones regulares, pero como dijo @Jefromi, es solo un montón de aleatoriedad. – g33kz0r
@Noah: desde la página del manual: "la cadena a la derecha del operador se considera una expresión regular extendida y se corresponde en consecuencia (como en regex (3)." Entonces, ¿es POSIX extended regex, sí? Eso parece ... bastante definitivo – Cascabel
Eso está muy bien, Jefromi. Pero no es diveintobashregex.org – g33kz0r