Как я могу grep рекурсивно?

Вы можете использовать объект StackTrace из пространства имен System.Diagnostics, но информация будет доступна только в том случае, если там есть файлы PDB.

Файлы PDB генерируются по умолчанию для обеих версий Debug и Release. Единственное отличие заключается в том, что Debug настроен для генерации полной информации об отладке, где, когда сборка релиза настроена только для генерации pdb (только для full / pdb).

Console.WriteLine(new StackTrace(true).GetFrame(0).GetFileName());

Console.WriteLine(new StackTrace(true).GetFrame(0).GetFileLineNumber());
1565
задан Robin Lavallée 17 October 2018 в 07:24
поделиться

3 ответа

grep -r "texthere" .

Первый параметр представляет регулярное выражение для поиска, а второй - каталог, в котором должен осуществляться поиск. В данном случае . означает текущий каталог.

Примечание: Это работает для GNU grep, и на некоторых платформах, таких как Solaris, вы должны специально использовать GNU grep в отличие от унаследованной реализации. Для Solaris это команда ggrep.

2428
ответ дан 22 November 2019 в 20:13
поделиться

Бросок моих двух центов здесь. Как другие уже упомянули , grep-r не работает над каждой платформой. Это может звучать глупым, но я всегда использую мерзавца.

git grep "texthere"

, Даже если каталог не подготавливается, я просто подготавливаю его и использую мерзавца grep.

0
ответ дан 22 November 2019 в 20:13
поделиться

Также:

find ./ -type f -print0 | xargs -0 grep "foo"

, но grep -r - это лучший ответ.

.
124
ответ дан 22 November 2019 в 20:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: