Как я могу индексировать наш внутренний исходный код?

Это также может быть решено с помощью Python из командной строки:

python -c "import os,sys;[os.system(' '.join(sys.argv[1:]).format(p)) for p in os.getenv('PATH').split(':')]" echo {}

Или как псевдоним:

alias foreachpath="python -c \"import os,sys;[os.system(' '.join(sys.argv[1:]).format(p)) for p in os.getenv('PATH').split(':')]\""

С примером использования:

foreachpath echo {}

Преимущество этого подхода состоит в том, что {} будет заменяться каждым путем подряд. Это может быть использовано для создания всевозможных команд, например, для перечисления размера всех файлов и каталогов в каталогах в $PATH. включая каталоги с пробелами в имени:

foreachpath 'for e in "{}"/*; do du -h "$e"; done'

Вот пример, который сокращает длину переменной $PATH путем создания символических ссылок на каждый файл и каталог в $PATH в $HOME/.allbin. Это не полезно для повседневного использования, но может быть полезно , если вы получаете сообщение об ошибке too many arguments в контейнере docker, потому что bitbake использует полный $PATH как часть командной строки. ...

mkdir -p "$HOME/.allbin"
python -c "import os,sys;[os.system(' '.join(sys.argv[1:]).format(p)) for p in os.getenv('PATH').split(':')]" 'for e in "{}"/*; do ln -sf "$e" "$HOME/.allbin/$(basename $e)"; done'
export PATH="$HOME/.allbin"

Теоретически это также должно ускорить регулярное использование оболочки и сценариев оболочки, поскольку существует меньше путей поиска для каждой выполняемой команды. Это является довольно хакерским, поэтому я не рекомендую кому-либо сокращать свои $PATH таким образом.

Псевдоним foreachpath может пригодиться, хотя.

21
задан Ira Baxter 22 August 2009 в 20:15
поделиться

6 ответов

Быстрый поиск Google VoilaSVN , но я не могу поручиться за это.

Редактировать: Он также обнаружил OpenGrok , который, похоже, имеет гораздо больше поддержки для других систем.

4
ответ дан 29 November 2019 в 22:02
поделиться

В коммерческом плане есть Krugle Enterprise . Если вы хотите увидеть, как это работает, вы можете использовать http://www.krugle.org/ для поиска проектов с открытым исходным кодом.

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

Я могу поручиться за полезность opengrok , он у нас на работе, и я использую его довольно хорошо каждый день.

8
ответ дан 29 November 2019 в 22:02
поделиться

всегда есть lxr (перекрестная ссылка linux). Mozilla использует

Я думаю, это потребует больших усилий, потому что это доступно только через репозиторий git. У вас будет больше возможностей, если вы заставите его работать. git: //lxr.linux.no/git/lxrng.git

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

Удивительно, но я обнаружил, что встроенные поисковые возможности Vista очень полезны. Я только что добавил свое исходное дерево в проиндексированные каталоги и получил довольно быстрый индексированный поиск.

Однако это не зависит от языка.

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

Можно найти нашу систему поиска исходного кода, чувствительную к языку на Поисковая машина исходного кода SD . Он может работать со многими языками одновременно. Поиск шаблонов может выполняться на определенном языке, или шаблоны на разных языках (например, «найти идентификаторы, связанные с налогом»). Благодаря чувствительности к языковым токенам количество ложных срабатываний уменьшается, saving time for the user. It understands C, C++, C#, COBOL, Java, ECMAScript, Java, XML, Verilog, VHDL, and a number of other languages.

1
ответ дан 29 November 2019 в 22:02
поделиться
Другие вопросы по тегам:

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