GAWK脚本使用特殊字符

时间:2011-12-07 15:41:36

标签: gawk

我遇到使用特殊字符的问题。我正在解析由制表符分隔的文本文件。如果某个参数为真,我想让程序在行的第一个单词中添加“*”。

if ($Var < $3)  $1 = \*$1

现在每次运行它都会出现错误,表明它不是行的结尾。

1 个答案:

答案 0 :(得分:0)

2件事,但没有更多的测试环境我们真的无法帮到你。

  1. $Var只有在你将其设置为Var = 3时才有意义。然后我不认为gawk会将你的3美元评估为3美元的价值。该表达式< $3的另一面将扩展为第3个字段的值。如果从shell环境中获得$ Var,则需要让gawk脚本“看到”该值,即

    awk '{ ..... if ('"$Var"' < $3) $1= "*" $1 .....}

  2. 如果您想要预先填写字符串文字“*”,那么最好不要执行$1 = "*" $1

  3. 如果没有样本输入,样本预期输出,实际输出和错误消息,我们将在这里播放20个问题。如果这些评论无法解决您的问题,请修改上述问题以包含这些项目。

    P.S。欢迎来到StackOverflow,让我提醒您我们通常在这里做的三件事:1)当您收到帮助时,请尝试给予它,回答您在专业领域的问题2)阅读常见问题解答,http://tinyurl.com/2vycnvr,3)当您看到良好的问答时,请使用灰色三角形http://i.imgur.com/kygEP.png对其进行投票,因为系统的可信度基于用户通过分享知识获得的声誉。还记得通过勾选复选标记http://i.imgur.com/uqJeW.png

    来接受更好地解决问题的答案(如果有的话)