使用 Bash 脚本将超链接添加到所有第一列数据

使用 Bash 脚本将超链接添加到所有第一列数据

我有日志文件,我正在过滤这些文件以获得一些输出,例如

WI_1_test  pass
WI_2_test fail
WI_3_test pass

我想让第一列上的所有数据都有一个可单击的超链接...基本上指向每个测试唯一的 url。

用bash。

更多解释!我有一个测试结果的日志文件,我想从混乱的日志中准备一份报告。我正在使用 awk 来过滤上述 WI_1_test pass ..等。下面是我的代码。

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    . 

像这样=>我运行上面的代码后的当前结果仅输出第一列上的不同链接。

http://testspec.net/#/project/workitem?id=WI_1_test , pass

http://testspec.net/#/project/workitem?id=WI_2_test , fail

同时,我的最终目标是让第一列上显示的所有数据都指向唯一的 url,这样当我导出 pdf 报告时。只需单击第一列上的任何测试,用户就可以重定向到系统上的测试 URL。

这是我对所有第一列数据的期望:

WI_1_测试, 经过

WI_2_测试, 失败

答案1

它不漂亮,但你可以像这样修改你的 awk 表达式

awk 'BEGIN{OFS="\t"}$1="["$1"](http://testspec.net/#/project/workitem?id="$1")"'

输出应该是这样的

[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

这是可点击链接的 Markdown 语法

您也应该能够直接在 sed 中执行此操作。

也许像这样

sed 's/^.*\(WI\).\([0-9]*\)..\([a-Z]*\).*/[\1-\2](http:\/\/...=\1-\2),\3/g'

也许你需要转义括号和括号。我无法测试,因为我没有您的输入数据。我也不完全理解你的 sed 表达式,因为输出中应该有破折号,但你的示例输出中没有破折号。

相关内容