Я хочу знать, какие файлы имеют строку $Id$
.
grep \$Id\$ my_dir/mylist_of_files
возвращает 0 вхождений.
Я обнаружил, что я должен использовать
grep \$Id$ my_dir/mylist_of_files
Затем я вижу, что $Id
цвет на выходе, то есть он был сопоставлен.
Как я могу соответствовать второй $
и почему не \$Id\$
работает.
Не имеет значения, является ли второй $
символ последним или нет.
Я пользуюсь grep
2.9.
Прежде чем опубликовать свой вопрос, я использовал Google ...
Чтобы найти $ (знак доллара) в файле с именем test2, введите:
grep \\ $ test2
Символы \\ (двойная обратная косая черта) необходимы для того, чтобы заставить оболочку передать команду \ $ (одиночная обратная косая черта, знак доллара) команде grep. Символ \ (одиночная обратная косая черта) указывает команде grep обрабатывать следующий символ (в данном примере $) как буквенный символ, а не как символ выражения. Используйте команду fgrep, чтобы избежать необходимости использования escape-символов, таких как обратный слеш.
но я не понимаю, почему grep \$Id
работает, а почему grep \\$Id\\$
нет.
Я немного смущен ...
grep -F '$Id$'
.