regex - online - grep-r example
inserte ''.'' entre todos los caracteres en grep regex y uso en grep (2)
Quiero insertar ''.'' entre cada carácter en una cadena de entrada dada y luego usarlo como argumento en una tubería
Estoy haciendo uno de los siguientes:
tail -f file.txt | grep -a ''R.e.s.u.l.t.''
tail -f file.txt | awk ''/R.e.s.u.l.t./''
¿Cómo puedo simplemente teclear ''Result'' y pasarlo como el argumento de expresión regular a grep cuando recibo entrada desde un buffer creado por tail -f usando funciones predeterminadas de bash adicionales?
La versión awk:
tail -f file.txt |
awk -v word="Result" ''
BEGIN {gsub(/./, "&.", word); sub(//.$/, "", word)}
$0 ~ word
''
tail -f file.txt | grep -a -e "$(echo Result | sed ''s/./&./g'')"
Esto hace eco de la palabra Result como entrada a sed (considere una cadena aquí en su lugar), que reemplaza a cada carácter consigo mismo seguido de a . , y luego la salida se usa como la expresión de búsqueda para grep . El -e protege de contratiempos si quiere buscar -argument con los puntos, por ejemplo. Si la cadena está en una variable, también usaría comillas dobles para eso:
result="Several Words"
tail -f file.txt | grep -a -e "$(echo "$result" | sed ''s/./&./g'')"