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 $Idkolor 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 grep2.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 \$Iddziała, a dlaczego grep \\$Id\\$nie.
Jestem trochę zmieszany...
grep -F '$Id$'.