【问题标题】:awk: select text and spend itawk:选择文本并使用它
【发布时间】:2012-09-11 14:59:58
【问题描述】:

我尝试从此文本中选择**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

我做错了什么?

【问题讨论】:

    标签: linux unix printing ssh awk


    【解决方案1】:

    更新:

    使用字段 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)}'`
    

    【讨论】:

    • 相同结果:] niaLink : [ maniaplanet://#join=punch.it@SMStormElite@nadeolabs
    • @PoLLi 我想我对问题陈述有点困惑。看起来您正试图从较长的字符串中提取此字符串,这是这样做的。我不明白你所拥有的其余部分的其余目的。你能澄清一下吗?
    • ok :) 我有一个游戏服务器,他用这个文本创建了一个控制台日志。我尝试选择此文本并将其发送如下: ManiaLink: [blablabla@blabla] ` LINK=grep "URL" $SRV_PATH/Logs/ConsoleLog.$PID.txt | awk -F":" '{printf("%s:%s\n", $4, $5)}' `
    • @PoLLi 当我尝试你的其余序列时,我没有同样的问题。
    • 尝试抽象出所有代码的相关部分。与此同时,我通过让 awk 完成所有格式化/打印来简化解决方案。
    【解决方案2】:

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    相关资源
    最近更新 更多