【问题标题】:Pass command line arguments to awk将命令行参数传递给 awk
【发布时间】:2016-03-13 16:48:28
【问题描述】:

我正在尝试制作一个简单的 bash 脚本,它使用命令行参数作为 awk 的参数。

文件格式如下:

id|Name|birthday|joinDate

以及命令行输入:

./my_script -f filename.dat -id 1234

当我使用以下代码行时:

awk -v arg ="$4", -F"|" '{if(arg == $1)print $1,$2}' "$2"

我收到一条错误消息:

'awk: 'arg' argument to '-v' not in 'var=value' form'.

这有什么问题?我只想打印给定 ID 的特定列。

【问题讨论】:

    标签: bash shell awk


    【解决方案1】:

    您的答案在错误消息中。将参数放在var=value 形式中,= 符号周围没有任何空格。

    【讨论】:

      猜你喜欢
      • 2017-11-02
      • 2018-04-02
      • 2015-06-09
      • 2017-10-22
      • 2019-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多