我设法按照自己的意愿获取此命令,但为什么我的列名称被排除在外?
这是我的命令
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包含列:名称、类(class)、年龄等,但在我分割文件后Assignment_"$1"_"DATE".csv"我只得到例如值:FARAH、CLASS A、24等,但在新文件中不包含列名称。我需要列名称作为原始文件而不是分割文件中的标题.有人可以帮助我吗?
最佳答案
@FARAH:尝试:
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 表示保留第一行,请尝试上面的操作,您也可以根据需要更改标题。
关于linux - 使用 awk 分割数据但缺少列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42356742/