Hola, muy buenas, me preguntaba si podrían explicarme una expresión regular que me encontré en un Makefile:
Citars/$(BOARD).$(1)=\(.*\)/\1/p
$(BOARD)=mega
$(1)=build.mcu
Esa expresión la ejecuta el siguiente comando:
Citarsed -ne "s/$(BOARD).$(1)=\(.*\)/\1/p" <ruta>
donde <ruta> es la ruta de un archivo de texto (si de paso me explican bien qué hace sed estupendo)
Muchas gracias
en tal caso si necesitas explicacion o pruebas, estas paginas son utiles
https://regex101.com/ (https://regex101.com/)
https://regexr.com/ (https://regexr.com/)
sed es una aplicacion que leer un archivo (o stream) linea a linea y aplica regex
sobre los comandos la primera s implica substitución y la ultima p implica imprimir el resultado
de resto sinceramente no entiendo mucho el sentido... creo que es porque sed no parece aplicar el regex por completo (es decir, los $ deberán tener \ al igual que los parentesis, pero más adelante si los tienen)...
Substituye $(BOARD).$(1)= por lo que quiera que esté después del =.
Back-references and Subexpressions (https://www.gnu.org/software/sed/manual/html_node/Back_002dreferences-and-Subexpressions.html)
Ahhh vale entiendo. Muchas gracias a tod@s!