我正在尝试创建一个简单的bash脚本,它使用命令行参数作为awk的参数.
文件格式如下:
id|Name|birthday|joinDate
Run Code Online (Sandbox Code Playgroud)
并且命令行输入:
./my_script -f filename.dat -id 1234
Run Code Online (Sandbox Code Playgroud)
当我使用以下代码行时:
awk -v arg ="$4", -F"|" '{if(arg == $1)print $1,$2}' "$2"
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息:
'awk: 'arg' argument to '-v' not in 'var=value' form'.
Run Code Online (Sandbox Code Playgroud)
这有什么问题?我想要的只是打印给定ID的特定列.