GNU/Linux >> Znalost Linux >  >> Linux

Pomocí indexu zrychlit grep?

Svou kódovou základnu můžete zkopírovat na disk RAM.


Indexování plného textu

Existují nástroje jako recoll, swish-e a sphinx, ale budete muset zkontrolovat, zda mohou podporovat druh vyhledávacích kritérií, která potřebujete.

Připomenout

Recoll je osobní fulltextový vyhledávací nástroj pro Unix/Linux.

Swish-e

Swish-e je rychlý, flexibilní a bezplatný open source systém pro indexování kolekcí webových stránek nebo jiných souborů.

Sfinga

Sphinx vám umožňuje buď dávkově indexovat a vyhledávat data uložená v SQL databázi, úložišti NoSQL nebo jen soubory rychle a snadno

grep

Překvapuje mě, že grep je tak pomalý, jak popisujete, můžete snížit počet prohledaných souborů? Například když potřebuji prohledat zdrojové soubory pouze pro jeden spustitelný soubor (z mnoha v projektu), vložím názvy grep z příkazu, který uvádí zdrojové soubory pro tento program:

grep expression `sources myprogram`

sources je program specifický pro mé vývojové prostředí, ale možná máte (nebo budete schopni vytvořit) něco ekvivalentního.

Předpokládám, že jste vyzkoušeli zřejmé techniky, jako je

find /foo/myproject -name "*.c" -exec fgrep -l searchtext

Četl jsem návrh, že -P možnost aktuálního grep může výrazně urychlit vyhledávání.


a co cscope, hodí se to k vašim botám?

Umožňuje vyhledání kódu pro:

  • všechny odkazy na symbol
  • globální definice
  • funkce volané funkcí
  • funkce volající funkci
  • textový řetězec
  • vzor regulárního výrazu
  • soubor
  • soubory obsahující soubor

Linux
  1. Jak třídit soubory podle jejich oprávnění pomocí Ls?

  2. Jak přejmenovat více souborů pomocí funkce Najít?

  3. Hledání poslední položky v řadě pomocí Grepu?

  1. Jak bezpečně přenášet soubory pomocí SCP

  2. Použití rsync k synchronizaci souborů

  3. Použití grep vs awk

  1. Jak Grep v souborech Pdf?

  2. Grep:Vyčerpaná paměť?

  3. Chcete přesunout `rm` do koše?