linux - texto - uso avanzado de grep
Cómo grep cadena literal exacta(sin expresiones regulares) (2)
Bueno, puede poner la información que desea hacer coincidir, cada una en una línea, y luego usar grep
:
grep -F -f patterns.txt file.txt
Observe el uso de la bandera -F
, que hace que grep
considere cada línea del archivo patterns.txt como una fixed-string
para buscar en file.txt .
¿Hay una manera de grep
(o usar otro comando) para encontrar cadenas exactas, usando NO regex?
Por ejemplo, si quiero buscar (literalmente):
/some/file"that/has''lots/of"invalid"chars/and.triggers$(#2)[*~.old][3].html
No quiero pasar y escapar de cada "escape". Esencialmente, quiero pasarlo a través, como lo haría con echo
:
$ echo "/some/file/"that/has''lots/of/"invalid/"chars/and.triggers$(#2)[*~.old][3].html"
/some/file"that/has''lots/of"invalid"chars/and.triggers$(#2)[*~.old][3].html
Use fgrep
, es lo mismo que grep -F
(coincide con una cadena fija).