-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

URL が常に行末にある場合は、次の grep 正規表現を使用できます。

grep URL $SRV_PATH/Logs/ConsoleLog.$PID.txt | grep -o '[^ ]*$'
于 2012-09-11T15:30:54.907 に答える
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 に答える