Czy można przetwarzać / przekształcać dane wyjściowe grep
(lub uzyskiwać grep
wyniki podobne do wyszukiwania, znajdowanie ciągów i / lub wzorców w plikach, w inny sposób), tak aby wyniki wyszukiwania mogły być użyte jako linki (tj. Hiperłącza) do otwarcia edytora? Chcę kliknąć na
w wyniku i otworzyć mój edytor w wybranej linii.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);
Wiem, jak zarejestrować protokoły w systemie, aby otworzyć edytor. Na przykład wszystkie adresy URL jak sblm://*
w moim systemie są otwarte w Sublime Text. Moje pytanie brzmi: jak tworzyć niestandardowe łącza w terminalu Guake (a może nie zależy to od quake i działa w domyślnym programie terminali)?
Uwaga: powiązane (?) Pytanie: Czy istnieje aplikacja terminalowa, która umożliwia klikanie nazw plików? , jest niejasny w odniesieniu do konkretnych szczegółów implementacji / rozwiązania i nie wspomina wyraźnie o moim wymaganiu przejścia bezpośrednio do określonej linii w pliku.
Odpowiedzi:
Nowsza wersja terminala GNOME obsługuje teraz hiperłącza z niestandardowym celem poprzez określone sekwencje specjalne. Próbować
Otwarcie tych działa w taki sam sposób, jak opisano w odpowiedzi Stephen Kitt. Aby rozwiązać opisany problem, możesz użyć skryptu sed (lub innej bardziej zaawansowanej metody) do przetłumaczenia nazw plików na hiperłącza. Dla mnie następujące zadanie (w bash i zakładanie powyższego sposobu tworzenia hiperłączy działa)
(Nie mam zainstalowanego wzniosłego, ale najprawdopodobniej możesz po prostu zmienić plik: na slbm :)
Zobacz także: https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda (To jest oparte na mojej odpowiedzi w Terminalu - utwórz hiperłącza )
źródło
urlencode
funkcji bash, która sprawia, że wszystko działa poprawnie, gdy w nazwach katalogów / plików znajdują się spacje lub inne ciekawe znaki.To jest komputer; możesz to zaprogramować. :-)
Stworzenie czegoś „klikalnego” oznacza albo zaprogramowanie aplikacji GUI, albo użycie HTML. Najprostszym sposobem, jaki mogę wymyślić, jest wygenerowanie strony HTML HREF-ów i potokowanie danych wyjściowych do, powiedzmy, rysia , skonfigurowanie przeglądarki tak, aby odpowiednio otwierała emacsa .
źródło