Necesito egrep
una cadena que no se conoce antes del tiempo de ejecución y que obtendré a través de la variable de shell (shell es bash, si eso importa). El problema es que esa cadena contendrá caracteres especiales como llaves, espacios, puntos, barras, etc.¿Cómo escapar de una cadena previamente desconocida en la expresión regular?
Si conozco la cadena puedo escapar de los caracteres especiales de a uno por vez, pero ¿cómo puedo hacer eso para toda la cadena?
Ejecutar la cadena a través de una secuencia de comandos sed para prefijar cada carácter especial con \ podría ser una idea, todavía tengo que recordar cómo se debe escribir una secuencia de comandos. No sé si hay otras opciones mejores.
leí re_format(7)
pero parece que no hay tal cosa como "tomar toda la siguiente cadena literal" ...
EDIT: para evitar falsos positivos, También me gustaría añadir la detección de nueva línea con el patrón, p.ej. egrep '^myunknownstring'
cómo escapar de las expresiones regulares en bash http://stackoverflow.com/questions/11856054/bash-easy-way-to-pass-a-raw-string-to-grep/16951928#16951928 –