Я пытаюсь написать журнал, который будет добавлять ссылки к тексту,
Так, например, журнал содержит -
This is some text TK-12354 aasdgf asdf
adsf aasdf TK-122 sadf sfdg sfdgsdfg
dghgf sfdg sdfg sdfg sdgf dsf TK-1243
И я хочу превратить все слова «TK-» в ссылки, добавив
<a href="https://website/browse/TK-######/">TK-######</a>
Таким образом, приведенный выше текст будет выглядеть следующим образом -
This is some text <a href="https://website/browse/TK-12354/">TK-12354</a> aasdgf asdf
adsf aasdf <a href="https://website/browse/TK-122/">TK-122</a> sadf sfdg sfdgsdfg
dghgf sfdg sdfg sdfg sdgf dsf <a href="https://website/browse/TK-1243/">TK-1243</a>
Я придумал способ сделать это в bash, но он действительно неуклюжий, и запускать его через файл можно вечно -
IFS=$'\n'
declare -a COMMENTS=($(cat /usr/local/statusTEST.dat | grep -n "TK-"))
for COMMENT in "${COMMENTS[@]}"
do
LINE=`echo $COMMENT | cut -d : -f 1`
TICKET=`echo $COMMENT | grep -o '\bTK-\w*'`
sed -i "${LINE}s/$TICKET/\<a href\=\"https\:\/\/website.com\/browse\/$TICKET\"\>$TICKET\<\/a\>/g" "/usr/local/statusTEST.dat"
done
Я пытался сделать это, используя sed, чтобы просто прочитать и изменить весь файл, но я не могу получить синтаксис для работы с добавлением ссылки в URL или даже с возможностью добавления конца до конца, т.е.
sed -i "s/\bTK-/\<a href\=\"https\:\/\/website.com\/browse\/g"
У кого-нибудь есть идеи?