我想使用bash脚本重命名csv文件的标头。原始csv文件头如下所示:
temp.csv
,id,too,Issue,Valid,DPT,RH,TMP,U,V
1,1,22383,2015-01-15 00:00:00 GMT,2015-01-15 00:00:00 GMT,269.8000183,80.90000153,272.6300049,3.039999962,-0.560000002
1
id to Issue Valid DPT RH TMP U V
1 2 3 4 5 6 7 8 9 10
I
想要重命名列标题,如下所示:
Cell id too Issue Valid DPT RH TMP U V
1 2 3 4 5 6 7 8 9 10
答案 0 :(得分:0)
您需要用不同的行替换第一行。 sed
可以为您完成:
sed -i -e "1 { r"<(echo ' Cell id too Issue Valid DPT RH TMP U V')"
d
}" file
扩展命令
-i
编辑文件(您可以跳过此处)-e
以下是sed命令1
执行{}
中的命令r
插入以下&#34;文件&#34; <( echo ' ... ')
在标准输出上生成新标头,并将其分配给sed命令可读取的文件(r
将插入该文本)d
删除该行因此,插入一行新文本并删除旧文本。
如果您不需要编辑文件,则更容易:
(
echo ' Cell id too Issue Valid DPT RH TMP U V'
tail -n +2 file
) > file.new