Soy bastante nuevo en las secuencias de comandos por lotes de Windows y tengo problemas para buscar y extraer una parte de una cadena de un archivo de texto y mostrarla. A continuación se muestran algunos datos de muestra.
La palabra clave para la búsqueda se basa en el ID del estudiante, por ejemplo:STUD777012
Agradecería si pudieras ayudar.
Muchas gracias.
MUESTRA DE SALIDA ESPERADA:
STUD777012, código de retorno: 0, el análisis no detectó errores
STUD777293, código de retorno: 4, advertencias detectadas en el análisis
STUD777086, código de retorno: 8, errores de análisis detectados
STUD777099, código de retorno: 0, el análisis no detectó errores
DATOS DE REGISTRO DE MUESTRA:
Compiling STUD777012 to Data Structure
This is prg version 380.10.20
This is StudPrg.exe version 6.24
debug enabled version
StudPrg.exe finished
prg finished with return code: 0
status:
Analysis detected no errors
Compiling STUD777293 to Data Structure
This is prg version 380.10.20
This is StudPrg.exe version 6.24
debug enabled version
StudPrg.exe finished
This is StudPrg.exe version 6.24
debug enabled version
StudPrg.exe finished
prg finished with return code: 4
status:
Analysis detected warnings
Compiling STUD777086 to Data Structure
This is prg version 380.10.20
This is StudPrg.exe version 6.24
debug enabled version
StudPrg.exe finished
This is StudPrg.exe version 6.24
debug enabled version
StudPrg.exe finished
prg finished with return code: 8
status:
Analysis detected errors
Respuesta1
Si abre el archivo enBloc de notas++y hacer un reemplazo de expresiones regulares (Ctrl+H):
Find what: Compiling (\w+).*?(return code[^\r\n]*).*?(analysis detected.*?)(\n|$)
Replace with: \1 \2 \3
Deberías conseguir lo que quieres. Asegúrese de tener habilitadas las expresiones regulares y '. coincide con el conjunto de nueva línea. p.ej