varios - grep ubuntu
Cómo escapar de paréntesis en grep (4)
Depende. Si usas grep regular, no escaparás:
echo ''(foo)''|grep ''(fo*)''
Realmente tienes que escapar si quieres usar los paréntesis como agrupación.
Si usas expresiones regulares extendidas , escapas:
echo ''(foo)''|grep -E ''/(fo*/)''
Quiero grep para una función llamada ''init ()'' en todos los archivos JavaScript en un directorio. ¿Cómo hago esto usando grep?
En particular, ¿cómo puedo escapar del paréntesis, ()
?
Si desea buscar exactamente la cadena "init ()", use fgrep "init()"
o grep -F "init()"
.
Ambos harán una coincidencia de cadena fija, es decir, tratarán el patrón como una cadena simple para buscar y no como una expresión regular. Creo que también es más rápido que hacer una búsqueda de expresiones regulares.
Vaya a su directorio raíz (si está al tanto de dónde están los archivos JavaScript). Entonces haz lo siguiente.
grep ''init()'' *.js
$ echo "init()" | grep -Erin ''init/([^)]*/)''
1:init()
$ echo "init(test)" | grep -Erin ''init/([^)]*/)''
1:init(test)
$ echo "initwhat" | grep -Erin ''init/([^)]*/)''