Что лучший способ состоит в том, чтобы найти соответствием string/regex в файлах рекурсивно? (UNIX)

Вы должны подписаться на возвращаемое наблюдаемое, если вы хотите, чтобы вызов выполнялся.

См. также документацию Http .

Всегда подписываться !

Метод HttpClient не запускает свой HTTP-запрос до тех пор, пока вы не вызовете subscribe () для наблюдаемого, возвращаемого этим методом. Это верно для всех методов HttpClient.

AsyncPipe автоматически подписывает (и отменяет подписку).

Все наблюдаемые, возвращенные из методов HttpClient холод по дизайну. Выполнение HTTP-запроса - отложено , что позволяет расширить наблюдаемые дополнительные операции, такие как tap и catchError, прежде чем что-либо произойдет на самом деле.

Вызов subscribe(...) триггеров выполнение наблюдаемого и вызывает HttpClient для составления и отправки HTTP-запроса на сервер.

Вы можете представить эти наблюдаемые в качестве чертежи для фактических HTTP-запросов.

blockquote>

26
задан Chris Upchurch 8 April 2009 в 20:28
поделиться

7 ответов

grep -r REGEX .

Замена . с любым каталогом Вы хотите искать от.

30
ответ дан Chris Jester-Young 28 November 2019 в 06:33
поделиться

При поиске строкового соответствия используйте

fgrep -r pattern .

, который быстрее, чем использование grep. Больше о предмете здесь: http://www.mkssoftware.com/docs/man1/grep.1.asp

5
ответ дан Gabriel Gilini 28 November 2019 в 06:33
поделиться

Это - один из случаев, для которых я начал использовать ack ( http://petdance.com/ack/ ) вместо grep. От сайта можно получить инструкции установить его как Perl компонент CPAN, или можно получить автономную версию, которая может быть установлена, не имея дело с зависимостями.

Помимо того, что это принимает значение по умолчанию к рекурсивному поиску, это позволяет Вам использовать регулярные выражения силы Perl, использовать regex's для выбора файлов для поиска, и т.д. Это имеет впечатляющий список опций. Я рекомендую посетить сайт и проверить его. Я нашел его чрезвычайно простым в использовании, и существуют подсказки для интеграции его с vi (m), emacs, и даже TextMate при использовании этого.

8
ответ дан rjray 28 November 2019 в 06:33
поделиться

grep-r, если Вы используете GNU grep, который идет с большинством дистрибутивов Linux.

На большей части UNIXes это не установлено по умолчанию, так попробуйте это вместо этого:

находят. - тип f | xargs grep regex

3
ответ дан CaptainPicard 28 November 2019 в 06:33
поделиться

При использовании оболочки zsh, можно использовать

grep REGEX **/*

, или

grep REGEX **/*.java

Это может выдохнуться, если существует слишком много файлов соответствия.

канонический путь, хотя должен использовать, находит с должностным лицом.

find . -name '*.java' -exec grep REGEX {} \;

или

find . -type f -exec grep REGEX {} \;

'тип f' укусил просто тип средств файла и будет соответствовать всем файлам.

3
ответ дан Darren Greaves 28 November 2019 в 06:33
поделиться

Я предлагаю изменить ответ на:

grep REGEX -r .

переключатель-r не указывает на регулярное выражение. Это говорит grep рекурсивно вызывать в предоставленный каталог.

2
ответ дан Scott 28 November 2019 в 06:33
поделиться

Переносимый метод * для этого -

find . -type f -print0 | xargs -0 grep pattern

-print0 указывает найти для использования nSC ASCII в качестве разделитель и -0 сообщает Xargs то же самое. Если вы их не используете, вы получите ошибки в файлах и каталогах, в именах которых есть пробелы.

* вместо grep -r, grep -R или grep --recursive, которые работают только на некоторых машинах.

14
ответ дан 28 November 2019 в 06:33
поделиться