Tengo archivos de registro que estoy filtrando para obtener algún resultado como
WI_1_test pass
WI_2_test fail
WI_3_test pass
Quiero que todos los datos de la primera columna tengan un hipervínculo en el que se pueda hacer clic... básicamente, que apunte a una URL que sea única para cada prueba.
con golpe.
mas explicacion! Tengo un archivo de registro de los resultados de las pruebas y quiero preparar un informe a partir del registro desordenado. Estoy usando awk para filtrar al pase WI_1_test anterior, etc. y debajo está mi 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 .
así => mi resultado actual después de ejecutar el código anterior muestra solo los diferentes enlaces en la primera columna.
http://testspec.net/#/project/workitem?id=WI_1_test , pass
http://testspec.net/#/project/workitem?id=WI_2_test , fail
Mientras tanto, mi objetivo final es que todos los datos que se muestran arriba en la primera columna apunten a URL únicas, de modo que cuando exporte un informe en PDF. Con solo hacer clic en cualquiera de las pruebas en la primera columna, el usuario puede ser redirigido a la URL de prueba en el sistema.
Esta es mi expectativa para todos los datos de la columna 1:
WI_1_prueba, aprobar
WI_2_prueba, fallar
Respuesta1
No es bonito pero puedes modificar tu expresión awk de esta manera.
awk 'BEGIN{OFS="\t"}$1="["$1"](http://testspec.net/#/project/workitem?id="$1")"'
la salida debería verse así
[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 es la sintaxis de rebajas para enlaces en los que se puede hacer clic
También deberías poder hacer esto en sed directamente.
tal vez así
sed 's/^.*\(WI\).\([0-9]*\)..\([a-Z]*\).*/[\1-\2](http:\/\/...=\1-\2),\3/g'
tal vez necesites escapar de los paréntesis y los paréntesis. No puedo realizar la prueba porque no tengo sus datos de entrada. Además, no entiendo completamente su expresión sed porque debería haber un guión en la salida, pero no hay ninguno en la salida de su ejemplo.