我正在尝试创建一个简单的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的特定列。
答案 0 :(得分:9)
您的答案在错误消息中。将参数放在var=value
表单中,=
符号周围没有任何空格。