Eu tenho arquivos de log que estou filtrando para obter alguma saída como
WI_1_test pass
WI_2_test fail
WI_3_test pass
Quero fazer com que todos os dados da primeira coluna tenham um hiperlink clicável... basicamente apontando para um URL exclusivo para cada teste.
com festa.
mais explicação! Eu tenho um arquivo de log de resultados de testes e quero preparar um relatório a partir do log confuso. estou usando o awk para filtrar a passagem WI_1_test acima ..etc. e abaixo está o meu código.
awk '/rtest.rosunit-rtest/' logfilefromjenkins.txt | sed 's/^.*\(WI\).\([0-9]*\)..\([a-Z]*\).*/\1-\2,\3/g'|awk 'BEGIN{OFS="\t"}$1="http://testspec.net/#/project/workitem?id="$1'|sort > testreport.csv .
assim => meu resultado atual depois de executar o código acima está exibindo apenas os diferentes links na primeira coluna.
http://testspec.net/#/project/workitem?id=WI_1_test , pass
http://testspec.net/#/project/workitem?id=WI_2_test , fail
enquanto isso, meu objetivo final é ter todos os dados mostrados acima na primeira coluna apontando para URLs exclusivos, de modo que quando eu exportar um relatório em PDF. apenas clicando em qualquer um dos testes da primeira coluna o usuário pode ser redirecionado para a url de teste no sistema.
Esta é minha expectativa para todos os dados da coluna 1:
WI_1_teste, passar
WI_2_teste, falhar
Responder1
não é bonito, mas você pode modificar sua expressão awk assim
awk 'BEGIN{OFS="\t"}$1="["$1"](http://testspec.net/#/project/workitem?id="$1")"'
a saída deve ficar assim
[WI_1_test](http://testspec.net/#/project/workitem?id=WI_1_test) , pass
[WI_2_test](http://testspec.net/#/project/workitem?id=WI_2_test) , fail
que é a sintaxe de markdown para links clicáveis
você também deve poder fazer isso diretamente no sed.
talvez assim
sed 's/^.*\(WI\).\([0-9]*\)..\([a-Z]*\).*/[\1-\2](http:\/\/...=\1-\2),\3/g'
talvez você precise escapar dos colchetes e parênteses. não posso testar porque não tenho seus dados de entrada. também não entendo completamente sua expressão sed porque deveria haver um travessão na saída, mas não há nenhum na saída de exemplo.