Как найти все файлы, содержащие определенный текст в Linux?

preg_match("/^-?\d+[\.]?\d\d$/", $sum)
4706
задан Peter Mortensen 21 May 2017 в 11:40
поделиться

3 ответа

Попробуйте Это

# grep -Ril "text-to-find-here" /

1. -i, --ignore-case Perform case insensitive matching. By default, grep is case sensitive.

2. -R, -r, --recursive  Recursively search subdirectories listed.

3. -l, Only the names of files containing selected lines are written to standard output.  

4. / stands for starting at the root of your machine.
4
ответ дан 22 November 2019 в 19:37
поделиться

я пытаюсь найти, что путь к [1 134] сканирует мою всю систему Linux для всех файлов, содержащих определенную строку текста.... Это близко к надлежащему способу сделать это? В противном случае, как должен я?... Эта способность найти текстовые строки в файлах была бы чрезвычайно полезна для некоторых проектов программирования, которые я делаю.

, В то время как Вы никогда не должны заменять (или псевдоним) системную команду с другой программой, из-за риска таинственной поломки сценариев или других утилит, если Вы запускаете текстовый поиск вручную или из Ваших собственных сценариев или программ, необходимо рассмотреть самую быструю подходящую программу при поиске большого количества файлов неоднократно. Десять минут ко времени получаса потратили, установив и ознакомившись с лучше , утилита может быть восстановлена после нескольких использования для примера использования Вы описали.

веб-страница А, предлагающая" , сравнение Функции ack, ag, мерзавца-grep, GNU grep и ripgrep" может помочь Вам решать, какая программа предлагает функции, в которых Вы нуждаетесь.

  • требования Блога Andrew Gallant: " ripgrep быстрее, чем {grep, ag, мерзавец grep, ucg, pt, отсейте} " (требование, совместно использованное некоторыми из других, это - то, почему сравнение функции полезно). Особенно интересный его раздел по regex реализации и ловушки.

    следующий команда ищет все файлы, включая скрытый и исполняемое:

    $ rg -uuu foobar

  • Серебряный Искатель (ag) утверждает, что это 5-10x быстрее, чем Ack. Эта программа предлагается в некоторых других ответах. GitHub не кажется столь же недавним как ripgrep's и существует noticably больше фиксаций и ответвлений с меньшим количеством выпусков, трудно нарисовать абсолютное требование на основе той статистики. короткая версия : ripgrep быстрее, но существует крошечная кривая обучения, которая не будет поймана различиями.

  • Поэтому, что могло быть следующим, Вы предположили это, платиновый искатель . Требования: это ищет код о 3†“5Г — быстрее, чем ack, но это - скорость, равно серебряному искателю. Это записано в GoLang и ищет UTF-8, EUC-мирового-судью и файлы Shift_JIS; если это представляет больший интерес. GitHub не является ни один особенно недавним или активным. Сам GoLang имеет быстрый и устойчивый regex, но платиновому искателю лучше рекомендовали бы, если бы он сделал, чтобы лучший пользователь заинтересовал.

Для комбинации скорости и питания индексировал языки запросов такой как ElasticSearch или , Solr может быть длительным сроком инвестиции, которые окупаются , но не, если Вы хотите быструю и простую замену для grep. OTOH оба имеют API, который можно назвать из любой программы, которую Вы пишете, добавляя мощные поиски к Вашей программе.

, В то время как возможно породить внешнюю программу, выполните поиск, прервите, это производится, и обработайте его, называние API является способом пойти для питания и производительности.

This question was protected Aug 6 '15 at 19:34 with this caution:
  мы ищем длинные ответы, которые дают некоторое объяснение и контекст. Только дайте короткий ответ; объясните, почему Ваш ответ является правильным, идеально с цитатами.

, В то время как некоторые ответы предлагают альтернативные способы выполнить поиск, они не объясняют , почему кроме он "свободен", "быстрее", "более сложный", "тонны функций", и т.д. не пытаются продать его, просто говорят нам, "почему Ваш ответ является правильным". Я попытался преподавать , как для выбора, что является лучшим для пользователя, и почему . Поэтому я предлагаю еще один ответ, когда уже существуют так многие. Иначе я согласился бы, что уже существует довольно много ответов; я надеюсь, что принес много в новинку для таблицы.

1
ответ дан 22 November 2019 в 19:37
поделиться

Можно использовать awk также

awk '/^ (шаблон) / {печать}'/path/to/find /*

, Шаблон является строкой, которой Вы хотите соответствовать в файлах

0
ответ дан 22 November 2019 в 19:37
поделиться
Другие вопросы по тегам:

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