【问题标题】:Passing value from a file to awk script将值从文件传递到 awk 脚本
【发布时间】:2014-03-10 19:26:29
【问题描述】:

我正在尝试将文件中的某些列传递给 awk 脚本并将 1 传递给它。输入文本文件“prac.txt”包含:

Shashank 12
Ram 13
Shyam 44

awk 脚本“awEg”包含:

#!/bin/awk -f
{
i=$2
print "val: ",$i+1;
}

我发出的命令是:

more prac.txt |./awEg

我得到以下输出:

val:  1
val:  1
val:  1

请指出我的错误。

【问题讨论】:

    标签: shell unix awk


    【解决方案1】:

    awk 变量不使用美元符号调用。因此,使用:

    print "val: ",i+1;
                  ^
                  no $
    

    总之,它产生:

    $ awk -f awEg.awk prac.txt    # note no need to `more prac.txt`...
    val:  13
    val:  14
    val:  45
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-07
      • 2011-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-10
      • 2018-02-27
      相关资源
      最近更新 更多