【问题标题】:problem with awk scriptawk 脚本的问题
【发布时间】:2010-03-10 16:10:12
【问题描述】:

当我调用我的 awk 脚本时,我不断收到错误消息:

sam@sam-laptop:~/shell/td4$ awk -f agenda.awk -- -n Robert agenda.txt
awk: agenda.awk:6: printf "Hello"
awk: agenda.awk:6: ^ syntax error

脚本包含以下内容:

#!/usr/bin/awk
BEGIN {
}

printf "Hello"

END {
}

谢谢

【问题讨论】:

  • 使用 $awk -f 议程.awk 议程.txt 它工作正常,但我想在我的 awk 脚本中添加命令行参数.. 这样我的程序就会在议程中搜索带有 -n 的名称或带有-m的电子邮件...我该怎么做?谢谢!

标签: shell awk


【解决方案1】:

你需要把它包装在 {}


BEGIN {
}
{
 printf "Hello"
}
END {
}

【讨论】:

  • 嗨,谢谢,但现在我收到此错误:awk: fatal: cannot open file `-n' for reading(没有这样的文件或目录)
  • 我不确定您要对 -- 和 -n Robert 做什么,但是如果您想使用议程.txt 作为源输入,只需执行以下操作:awk -f议程.awk议程.txt
  • 使用 $awk -f 议程.awk 议程.txt 它工作正常,但我想在我的 awk 脚本中添加命令行参数.. 这样我的程序就会在议程中搜索带有 -n 的名称或带有 -m 的电子邮件... 我该怎么做?谢谢!
  • 使用“-v”选项添加参数,如下所示:awk -f 议程.awk -v name=Robert -v email=robert@email.com 议程.txt
  • 很高兴为您提供帮助 :-) awk 是我最喜欢的语言
【解决方案2】:

我认为您还需要将 shebang 修改为

#!/usr/bin/awk -f

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 2014-09-04
    • 2015-04-08
    • 2012-09-03
    相关资源
    最近更新 更多