-3

我设法得到了这个命令,但为什么我的列名被排除在外?

这是我的命令

awk \
  -v DATE="$(date +"%d%m%Y")" \
  -F"," \
  'BEGIN{OFS=","} NR>1{ gsub(/"/,"",$1); print > "Assignment_"$1"_"DATE".csv"}' \
  Test_01012020.CSV

在我的原始文件中,test_01012020.csv包含列:名称、类别、年龄等,但是在我拆分文件之后,Assignment_"$1"_"DATE".csv"我只得到了值,例如:FARAH, CLASS A, 24等等,但在新文件中不包括列名。我需要列名作为原始文件,而不是拆分文件中的标题。有人可以帮我吗?

4

1 回答 1

0

@法拉:试试:

awk \
  -v DATE="$(date +"%d%m%Y")" \
  -F"," \
  'BEGIN{OFS=","} NR==1{print > "Assignment_"$1"_"DATE".csv"}} NR>1{ gsub(/"/,"",$1); print > "Assignment_"$1"_"DATE".csv"}' \
  Test_01012020.CSV

显然它不会打印标题,因为 NR>1 意味着离开第一行,请尝试上面的操作,您也可以根据需要更改标题。

于 2017-02-21T01:16:53.010 回答