将标题添加到csv文件时出现问题

时间:2020-02-05 13:47:11

标签: bash csv

我需要将标题从CSV文件复制到新的CSV文件中。

input.csv内容:

col1;col2;col3

为此,我使用了以下命令:

head -n 1 input.csv > output.csv

我也尝试过:

awk -F\; 'NR==1 {print; exit}' input.csv > output.csv

结果是相同的。这样做是将标头复制到output.csv中,但问题是它们都被复制到同一单元格中,而不是创建不同的列。

output.csv内容的单元格A1:col1 col2 col3

似乎在此过程中删除了分隔符;,但我不知道为什么。

有人能解释一下并最终找到解决办法吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

您需要将OFS(输出字段分隔符)值提到为;将它们放在不同的列中。您能不能试一下。

awk 'BEGIN{FS=OFS=";"} FNR==1 {print;exit}' input.csv > output.csv

为什么输出中的半冒号消失了? 。有一个术语称为输出字段分隔符,在awk编程中用OFS表示。因此,只要我们没有特别设置,它的值就是空间。因此,我们需要将其设置为;就像我在上面的代码中所做的一样,也将列的分隔符保留在输出中。