Chcę wiedzieć, które pliki mają ciąg $Id$
.
grep \$Id\$ my_dir/mylist_of_files
zwraca 0 wystąpień.
Odkryłem, że muszę użyć
grep \$Id$ my_dir/mylist_of_files
Potem widzę, że $Id
kolor jest wyjściowy, tzn. Został dopasowany.
Jak mogłem dopasować drugi $
i dlaczego nie \$Id\$
działa.
Nie ma znaczenia, czy drugi $
to ostatni znak, czy nie.
Używam grep
2.9.
Przed opublikowaniem pytania użyłem google ...
Aby wyszukać $ (znak dolara) w pliku o nazwie test2, wpisz:
grep \\ $ test2
Znaki \\ (podwójny odwrotny ukośnik) są konieczne, aby wymusić na powłoce przekazanie \ $ (pojedynczy odwrotny ukośnik, znak dolara) do polecenia grep. Znak \ (pojedynczy ukośnik odwrotny) mówi komendzie grep, aby traktowała następujący znak (w tym przykładzie $) jako znak dosłowny, a nie znak wyrażenia. Użyj polecenia fgrep, aby uniknąć konieczności używania znaków specjalnych, takich jak ukośnik odwrotny.
ale nie rozumiem, dlaczego grep \$Id
działa, a dlaczego grep \\$Id\\$
nie.
Jestem trochę zmieszany...
grep -F '$Id$'
.