假设我有一个 CSV 文件,其标题格式如下:
Field1,Field2
3,262000
4,449000
5,650000
6,853000
7,1061000
8,1263000
9,1473000
10,1683000
11,1893000
我想编写一个 awk 脚本,该脚本将采用逗号分隔的字段名称列表target
,将其拆分为一个数组,然后仅挑选出具有我指定名称的那些列。
这是我到目前为止所尝试的,并且我已经验证该head
数组包含所需的标头,并且该targets
数组包含给定命令行传入的所需目标。
BEGIN{
FS=","
split(target, targets, ",")
}
NR==1 {
for (i = 1; i <= NF; i++) head[i] = $i
}
NR !=1{
for (i = 1; i <= NF; i++) {
if (head[i] in targets){
print $i
}
}
}
当我使用命令调用此脚本时
awk -v target=Field1 -f GetCol.awk Debug.csv
我什么也没打印出来。