Como eu faço links clicáveis em arquivos .log?

0

Eu tenho um script python que registra URLs para serem gerados em tempo real. Eu gostaria de ser capaz de cat logfile.log para que eu possa ver a saída do log, em seguida, ser capaz de clicar nesses links em vez de copiá-los / colá-los na janela do meu navegador. Isso é possível se eu fizer um script de shell ou melhor ainda se eu o executar apenas por cat / head / tail?

    
por Frankenmint 04.08.2016 / 07:54

3 respostas

1

cat urls.log | grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*" | sort | uniq > myurls.txt

E a saída seria:

pi@berry:~s$ cat urls.html | grep -Eo "(http|https)://[\da-z./?A-Z0-9\D=_-]*" | uniq
http://schema.org/WebPage
http://www.google.com/imghp?hl=en
http://maps.google.com/maps?hl=en
https://play.google.com/?hl=en
http://www.youtube.com/?tab=w1
http://news.google.com/nwshp?hl=en
https://mail.google.com/mail/?tab=wm
https://drive.google.com/?tab=wo
http://www.google.com/intl/en/options/
http://www.google.com/history/optout?hl=en
https://accounts.google.com/ServiceLogin?hl=en
http://www.google.com/
https://www.google.com/culturalinstitute/project/the-holocaust?utm_source=google
https://plus.google.com/116899029375914044550
  • Explicação:
    • grep -E: é o mesmo que egrep
    • grep -o: apenas mostra o que foi grepped
    • (http | https): é um ou / ou
    • a-z: é todo em minúsculas
    • A-Z: é tudo um bom caso
    • : é ponto
    • \ ?: é?
    • *: repete o grupo
    • uniq: removerá quaisquer duplicatas

Coloque em uma bash

#!/bin/sh
echo '---------------------------------------------'
echo 'Now starting'
echo '---------------------------------------------'


while read p;
  do   x-www-browser "$p";
done < myurls.txt

O bash deve abrir uma nova guia para cada URL Fontes:

por 04.08.2016 / 12:05
0

Para tornar os links clicáveis a partir de arquivos .log , você precisa criar um arquivo de log como o formato de arquivo .html . Como módulo de registro python inspirado em log4j . Há um HTMLLayout no módulo de registro log4j.

Mas, para que isso aconteça, você deve estar ciente da formatação em Python e também aprender a escrever sua própria formatação. Se você já sabe como escrever sua própria formatação, seria mais fácil formatar um arquivo .log para um arquivo .html. Eu encontrei o formulário de discussão onde você pode obter a idéia sobre como formatar o arquivo de log em HTML ou colorir uma saída de arquivo de log. Visite este tópico .

    
por 04.08.2016 / 08:30
0

Acontece que um pouco mais de googling me deu a resposta que eu estava procurando:

Extraído desta questão de estouro de pilha

Tl; dr - depende do seu emulador de terminal. Eu estou usando o OSX. Isso funciona para mim:

Before OSX Lion:

cmd+shift+double-click on a URL in Terminal.app and it will open in the default program.

OSX Lion:

cmd+double-click (otherwise you will enter fullscreen mode).

    
por 04.08.2016 / 15:05