Ist es möglich, die Ausgabe von Dateien zu verarbeiten / zu transformieren grep
(oder grep
ähnliche Ergebnisse zu erzeugen , Zeichenfolgen und / oder Muster in Dateien zu finden, auf andere Weise), sodass die Suchergebnisse als Links (dh Hyperlinks) zum Öffnen eines Editors verwendet werden können? Ich möchte auf ein
in meinem Ergebnis klicken und meinen Editor in der ausgewählten Zeile öffnen.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);
Ich kann Protokolle im System registrieren, um den Herausgeber zu öffnen. Zum Beispiel sblm://*
öffnen sich alle URLs wie in meinem System in Sublime Text. Meine Frage ist: Wie erstelle ich benutzerdefinierte Links in Guake Terminal (oder hängt es vielleicht nicht von Quake ab und funktioniert für Standard-Terminal-Programme)?
Hinweis: Zugehörige Frage (?): Gibt es eine Terminal-App, mit der Dateinamen angeklickt werden können? , ist vage in Bezug auf spezifische Implementierungs- / Lösungsdetails und erwähnt nicht ausdrücklich meine Anforderung, direkt zu einer identifizierten Zeile in der Datei zu springen.
Antworten:
Neuere Versionen des GNOME-Terminals unterstützen jetzt Hyperlinks mit benutzerdefinierten Zielen über bestimmte Escape-Sequenzen. Versuchen
Das Öffnen funktioniert genauso wie in der Antwort von Stephen Kitt beschrieben. Um das von Ihnen beschriebene Problem zu beheben, können Sie ein sed-Skript (oder eine fortgeschrittenere Methode) verwenden, um die Dateinamen in Hyperlinks zu übersetzen. Für mich erledigt das Folgende den Job (in Bash und unter der Annahme, dass der oben beschriebene Weg zum Erstellen von Hyperlinks funktioniert)
(Ich habe nicht sublime installiert, aber höchstwahrscheinlich können Sie einfach die Datei ändern: in slbm :)
Siehe auch: https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda (Dies basiert auf meiner Antwort im Terminal - Hyperlinks erstellen )
quelle
urlencode
Bash-Funktion, mit der die Funktion korrekt ausgeführt wird, wenn Sie Leerzeichen oder andere interessante Zeichen in Verzeichnis- / Dateinamen haben.Es ist ein Computer; Sie können es programmieren. :-)
Etwas "anklickbar" zu machen bedeutet entweder, eine GUI-Anwendung zu programmieren oder irgendwie HTML zu verwenden. Der einfachste Weg, den ich mir vorstellen kann, wäre, eine HTML-Seite mit HREFs zu generieren und die Ausgabe beispielsweise an Lynx weiterzuleiten, wobei der Browser so konfiguriert wird, dass Emacs entsprechend geöffnet wird .
quelle