Est-il possible de traiter / transformer la sortie grep
(ou de produire des grep
résultats similaires, en trouvant des chaînes et / ou des modèles dans des fichiers, d'une autre manière) de sorte que les résultats de la recherche puissent être utilisés comme des liens (c.-à-d. Des hyperliens) pour ouvrir un éditeur? Je veux cliquer sur un
dans mon résultat et ouvrir mon éditeur sur la ligne sélectionnée.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);
Je sais comment enregistrer des protocoles dans le système pour ouvrir l'éditeur. Par exemple, toutes les URL comme sblm://*
dans mon système s'ouvrent dans Sublime Text. Ma question est: comment créer des liens personnalisés dans le terminal guake (ou peut-être que cela ne dépend pas de Quake et fonctionne pour le programme de terminal par défaut)?
Remarque: la question connexe (?), Existe - t-il une application de terminal qui permet aux noms de fichiers d'être cliquables? , est vague sur des détails spécifiques d'implémentation / solution et ne mentionne pas explicitement mon exigence de passer directement à une ligne identifiée dans le fichier.
Réponses:
La nouvelle version du terminal GNOME prend désormais en charge les hyperliens avec une cible personnalisée via certaines séquences d'échappement. Essayer
Ouvrir ces œuvres de la même manière que celle décrite dans la réponse de Stephen Kitt. Pour résoudre le problème que vous avez décrit, vous pouvez utiliser un script sed (ou une méthode plus avancée) pour traduire les noms de fichiers en hyperliens. Pour moi, ce qui suit fait le travail (en bash et en supposant que la méthode ci-dessus pour créer des hyperliens fonctionne)
(Je n'ai pas installé sublime mais très probablement vous pouvez simplement changer le fichier: en slbm :)
Voir aussi: https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda (Ceci est basé sur ma réponse sur Terminal - créer des hyperliens )
la source
urlencode
fonction bash qui fait que les choses fonctionnent correctement lorsque vous avez des espaces ou d'autres caractères intéressants dans les noms de répertoire / fichier.C'est un ordinateur; vous pouvez le programmer. :-)
Faire quelque chose de "cliquable" signifie soit programmer une application GUI, soit utiliser HTML. La façon la plus simple à laquelle je peux penser serait de générer une page HTML de HREF et de diriger la sortie vers, disons, lynx , en configurant le navigateur pour ouvrir emacs de manière appropriée.
la source