Можно ли обрабатывать / преобразовывать выходные данные grep
(или производить grep
аналогичные результаты, находя строки и / или шаблоны в файлах каким-либо другим способом), чтобы результаты поиска можно было использовать в качестве ссылок (то есть гиперссылок) для открытия редактора? Я хочу нажать на
в моем результате и открыть редактор в выбранной строке.filename:line_number
grep
$ grep "mServiceIntent" -R ./src/
./src/example/PhotoThumbnailFragment.java:67 private Intent mServiceIntent;
./src/example/PhotoThumbnailFragment.java:194 mServiceIntent =
./src/example/PhotoThumbnailFragment.java:203 getActivity().startService(mServiceIntent);
Я знаю, как зарегистрировать протоколы в системе, чтобы открыть редактор. Например, все URL-адреса, как sblm://*
в моей системе, открываются в Sublime Text. Мой вопрос: как создать пользовательские ссылки в терминале Guake (или, может быть, это не зависит от Quake и работает для программы терминала по умолчанию)?
Примечание: связанный (?) Вопрос, есть ли терминальное приложение, которое позволяет нажимать на имена файлов? , расплывчато в конкретных деталях реализации / решения и явно не упоминает мое требование перейти непосредственно к определенной строке в файле.
Ответы:
Новая версия терминала GNOME теперь поддерживает гиперссылки с пользовательской целью через определенные escape-последовательности. Пытаться
Открытие этих работ происходит так же, как описано в ответе Стивена Китта. Чтобы решить описанную проблему, вы можете использовать сценарий sed (или более продвинутый метод) для преобразования имен файлов в гиперссылки. Для меня следующее делает работу (в bash и предполагая, что вышеуказанный способ создания гиперссылок работает)
(У меня не установлено sublime, но, скорее всего, вы можете просто изменить файл: на slbm :)
Смотрите также: https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda (Это основано на моем ответе в Терминале - создайте гиперссылки )
источник
urlencode
функции bash, которая заставляет вещи работать правильно, когда в именах каталогов / файлов есть пробелы или другие интересные символы.Это компьютер; Вы можете запрограммировать это. :-)
Сделать что-то «кликабельное» означает либо программирование приложения с графическим интерфейсом, либо использование HTML. Самый простой способ, о котором я могу подумать, - это сгенерировать HTML-страницу HREF и направить вывод, скажем, в lynx , настроив браузер для соответствующего открытия emacs .
источник