Quiero saber qué archivos tienen la cadena $Id$
.
grep \$Id\$ my_dir/mylist_of_files
devuelve 0 ocurrencias.
Descubrí que tengo que usar
grep \$Id$ my_dir/mylist_of_files
Entonces veo que el $Id
color está en la salida, es decir, ha sido emparejado.
¿Cómo podría igualar el segundo $
y por qué no \$Id\$
funciona?
No importa si el segundo $
es el último personaje o no.
Yo uso grep
2.9.
Antes de publicar mi pregunta, usé google ...
Para buscar un $ (signo de dólar) en el archivo llamado test2, ingrese:
grep \\ $ test2
Los caracteres \\ (doble barra invertida) son necesarios para forzar al shell a pasar un \ $ (barra invertida simple, signo de dólar) al comando grep. El carácter \ (barra diagonal inversa simple) le dice al comando grep que trate el siguiente carácter (en este ejemplo, el $) como un carácter literal en lugar de un carácter de expresión. Use el comando fgrep para evitar la necesidad de usar caracteres de escape como la barra diagonal inversa.
pero no entiendo por qué grep \$Id
funciona y por qué grep \\$Id\\$
no.
Estoy un poco confundido...
grep -F '$Id$'
.