【发布时间】:2018-04-09 20:19:57
【问题描述】:
我有一个逗号分隔的 .txt 文件,其结构如下:
ABC,NAME1,LASTNAME1
DEF,NAME2,LASTNAME2
GHI,NAME3,LASTNAME3
运行时:
$ ./script.sh file.txt
#!/bin/bash
awk -F, '/NAME1/{print $3}' "$1"
我得到了我想要的输出:
LASTNAME1
当尝试通过将变量传递给 awk 来替换 NAME1 时:
$ ./script.sh file.txt NAME1
#!/bin/bash
awk -v n="$2" -F, '/$n/{print $3'} "$1"
我根本没有得到任何输出。我查了一下,在 bash 中输入的 $2 确实是 NAME1。我错过了什么?
【问题讨论】: