Necesito buscar una variable de PHP $someVar
. Sin embargo, Grep piensa que estoy tratando de ejecutar una expresión regular protestó:Grep no como una expresión regular
$ grep -ir "Something Here" * | grep $someVar
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
$ grep -ir "Something Here" * | grep "$someVar"
<<Here it returns all rows with "someVar", not only those with "$someVar">>
no veo una opción para contar grep no de interpretar la cadena como una expresión regular, pero para incluir el $
como solo otro personaje de cuerdas.
En esta pregunta, el problema principal no es sobre 'grep' interpretando' $ 'como una expresión regular. Se trata de que el intérprete de comandos sustituya '$ someVar' con el valor de la variable de entorno' someVar', probablemente sea la cadena vacía. El segundo ejemplo no debe devolver todas las filas con 'someVar' sino todas las líneas, porque la cadena vacía está en todas las líneas. Para decirle al shell que no lo sustituya, debe usar ''$ someVar'' o' \ $ someVar'. Entonces tendrás que lidiar con la interpretación 'grep' del carácter' $ '. –
@ ChristopheDrevet-Droguet: ¡Gracias por la explicación, estaba desconcertado con respecto al voto a favor! Su comentario es lo suficientemente informativo para ser una respuesta, de hecho sería una de las mejores respuestas en la página si es así. – dotancohen