2012-09-11 32 views
-1

我儘量選擇從這段文字**maniaplanet://#[email protected]@nadeolabs**AWK:選擇文本和花錢

[2012/09/11 17:39:15] URL: maniaplanet://#[email protected]@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://#[email protected]@nadeolabs 

我在做什麼錯?

+0

「花」是什麼意思? –

回答

0

更新:

使用領域4,即$ 4

awk '{print $4}' 

所以,

echo "[2012/09/11 17:39:15] URL: maniaplanet://#[email protected]@nadeolabs" | awk '{print $4}' 

這會給你:

maniaplanet://#[email protected]@nadeolabs 

也就是說,你的序列:

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

$ echo $LINK 
maniaplanet://#[email protected]@nadeolabs 

$ echo -e "ManiaLink : [\033[32m$LINK\033[0m] \n" 
ManiaLink : [maniaplanet://#[email protected]@nadeolabs] 

UPDATE

這可以通過AWK簡化做所有的印刷:

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

這樣:

LINK=`echo "[2012/09/11 17:39:15] URL: maniaplanet://#[email protected]@nadeolabs" | awk '{printf("ManiaLink : [\033[32m$%s\033[0m] \n", $4)}'` 
+0

相同結果: ] niaLink:[maniaplanet://#[email protected]@nadeolabs – PoLLi

+0

@PoLLi我想我對問題陳述有點困惑。它看起來像你試圖從較長的字符串中提取這個字符串,這是。我不明白你所擁有的其餘部分的其他目的。你能澄清嗎? – Levon

+0

好:)我有一個遊戲服務器,他創建一個ConsoleLog與這個文本。我嘗試選擇這個文本並將其發佈如下:ManiaLink:[blablabla @ blabla]'LINK ='grep「URL」$ SRV_PATH/Logs/ConsoleLog。$ PID.txt | awk -F「:」'{printf(「%s:%s \ n」,$ 4,$ 5)}''' – PoLLi

0

如果url總是在行的末尾,你可以使用這個grep正則表達式:

grep URL $SRV_PATH/Logs/ConsoleLog.$PID.txt | grep -o '[^ ]*$' 
+0

同樣的問題:好的。這裏是我的完整代碼:http://pastebin.com/rGZnZVLT這裏是我的txt文件:http://pastebin.com/MKUxvMUw這是我的輸出:http://pastebin.com/3JkKWuyD – PoLLi