使用 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 表達式,因為輸出應該有破折號,但你的範例輸出中沒有破折號。

相關內容