É possível processar / transformar a saída de grep
(ou produzir grep
resultados semelhantes, encontrar seqüências e / ou padrões em arquivos, de alguma outra maneira), de modo que os resultados da pesquisa possam ser usados como links (por exemplo, hiperlinks) para abrir um editor? Eu quero clicar em um
no meu resultado e abrir o meu editor na linha selecionada.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);
Eu sei como registrar protocolos no sistema para abrir o editor. Por exemplo, todos os URLs como sblm://*
no meu sistema são abertos em Sublime Text. Minha pergunta é: como criar links personalizados no terminal guake (ou talvez não dependa do terremoto e funcione no programa padrão do terminal)?
Nota: a pergunta relacionada (?), Existe um aplicativo de terminal que permita que os nomes de arquivos sejam clicáveis? , é vago em detalhes específicos de implementação / solução e não menciona explicitamente meu requisito de ir diretamente para uma linha identificada no arquivo.
Respostas:
A versão mais recente do terminal GNOME agora suporta hiperlinks com destino personalizado através de determinadas seqüências de escape. Experimentar
A abertura desses trabalhos da mesma maneira descrita na resposta de Stephen Kitt. Para resolver o problema descrito, você pode usar um script sed (ou algum método mais avançado) para converter os nomes de arquivos em hiperlinks. Para mim, o seguinte é o trabalho (no bash e assumindo que a maneira acima para criar hiperlinks funciona)
(Eu não tenho sublime instalado, mas provavelmente você pode simplesmente mudar o arquivo: para slbm :)
Veja também: https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda (Isso é baseado na minha resposta no Terminal - crie hiperlinks )
fonte
urlencode
função bash que faz as coisas funcionarem corretamente quando você tem espaços ou outros caracteres interessantes nos nomes de diretório / arquivo.É um computador; você pode programá-lo. :-)
Tornar algo "clicável" significa programar um aplicativo GUI ou de alguma forma usar HTML. A maneira mais simples de pensar seria gerar uma página HTML de HREFs e canalizar a saída para, digamos, lynx , configurando o navegador para abrir o emacs adequadamente.
fonte