-1

我尝试**maniaplanet://#join=suchtbude.elite1@SMStormElite@nadeolabs**从此文本中进行选择:

[2012/09/11 17:39:15] URL: maniaplanet://#join=suchtbude.elite1@SMStormElite@nadeolabs

与 awk。

这是我的代码:

LINK=`grep "URL" $SRV_PATH/Logs/ConsoleLog.$PID.txt | awk -F"URL: " '{print $2}'`
echo -e "ManiaLink : [\033[32m$LINK\033[0m] \n"

这是输出:

] niaLink : [maniaplanet://#join=punch.it@SMStormElite@nadeolabs

我究竟做错了什么 ?

4

2 回答 2

0

更新:

使用字段 4,即 $4

awk '{print $4}'

所以,

echo "[2012/09/11 17:39:15] URL: maniaplanet://#join=suchtbude.elite1@SMStormElite@nadeolabs" | awk '{print $4}'

这会给你:

maniaplanet://#join=suchtbude.elite1@SMStormElite@nadeolabs

即,您的序列:

$ LINK=`echo "[2012/09/11 17:39:15] URL: maniaplanet://#join=suchtbude.elite1@SMStormElite@nadeolabs" | awk '{print $4}'`

$ echo $LINK
maniaplanet://#join=suchtbude.elite1@SMStormElite@nadeolabs

$ echo -e "ManiaLink : [\033[32m$LINK\033[0m] \n"
ManiaLink : [maniaplanet://#join=suchtbude.elite1@SMStormElite@nadeolabs] 

更新

这可以通过让 awk 完成所有打印来简化:

awk '{printf("ManiaLink : [\033[32m$%s\033[0m] \n", $4)}'`

所以:

LINK=`echo "[2012/09/11 17:39:15] URL: maniaplanet://#join=suchtbude.elite1@SMStormElite@nadeolabs" | awk '{printf("ManiaLink : [\033[32m$%s\033[0m] \n", $4)}'`
于 2012-09-11T15:06:52.273 回答
0

如果 url 总是在行尾,你可以使用这个 grep 正则表达式:

grep URL $SRV_PATH/Logs/ConsoleLog.$PID.txt | grep -o '[^ ]*$'
于 2012-09-11T15:30:54.907 回答