GAWK特殊字符脚本



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

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

现在每次我运行它,我得到错误,它不是行结束

两件事,但没有更多的上下文来测试,我们真的不能帮助你。

  1. $Var只有在Var=3的情况下才有意义。我不认为呆子会把你的3美元算成3美元的价值。表达式的另一边< $3将展开为第三个字段的值。如果您从shell环境中获取$Var,则需要让gawk脚本"看到"该值,即

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

  2. 如果你想要字符串字'*'预先挂起,你最好做$1 = "*" $1

如果没有样本输入、样本预期输出、实际输出和错误消息,我们将在这里播放20个问题。如果这些评论不能解决你的问题,请编辑你上面的问题,包括这些项目。

注:欢迎来到StackOverflow让我提醒你我们通常做的三件事:1)当你获得帮助,试着给它,回答问题在你的专业领域2)阅读faq, http://tinyurl.com/2vycnvr, 3)当你看到好的Q&,他们投票通过使用灰色三角形,https://i.stack.imgur.com/fJACH.png,因为系统是基于声誉的可信度,用户通过分享他们的知识。另外,如果有的话,请按下复选标记符号https://i.stack.imgur.com/bFNuc.png

接受更能解决问题的答案。

最新更新