将命令行参数传递给awk

时间:2016-03-13 16:48:29

标签: bash shell awk

我正在尝试创建一个简单的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的特定列。

1 个答案:

答案 0 :(得分:9)

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