我有一个表,我想重命名一些标题,表格是这样的:
Names rrdx21 rrdx23 rrdy78 rrdg00 rrdw90 ccv34 vvvbue [...] xxtur44
Values 0 1 2 3 4 5 45 [...] 990
[...]
Values100 2 3 45 76 0 0 0 1000
另一方面,我有一个列表,其中包含我想要更改的标题/列名称以及我想要提供的新名称,如下所示:
rrdx3 sample2
rrdg00 sample23
[...]
你可以想象我想保持标题/列的顺序。可以用awk或简单的脚本来实现吗?
答案 0 :(得分:1)
假设两个文件都是空格分隔的,请尝试这一行:(我没有测试,但应该去)
awk 'NR==FNR{d[$1]=$2;next}FNR==1{for(i=1;i<=NF;i++)$i=d[$i]?d[$i]:$i}7' header.txt table.txt