我在文本文件(dataframe.txt)中有一个数据集,文件的标题是数字中的变量名称。数字的含义(变量的实际名称)存储在另一个文件(variables.txt)中。例如(为简单起见进行编辑:
> head dataframe.txt
123 456 789
1 2 3
4 5 6
7 8 9
> variables.txt
123 A
456 B
789 C
我想将 dataframe.txt 的 header 更改为存储在 Variables.txt 文件中的名称。数字和名称之间的链接需要保持不变。所需的输出将是:
> head dataframe.txt
A B C
1 2 3
4 5 6
7 8 9
有没有办法根据另一个将数字与名称链接的文件来更改标题?我可以想象几行 awk 就可以做到这一点..
谢谢!
最佳答案
$ awk 'NR==FNR{a[$1]=$2;next} FNR==1{for (i=1;i<=NF;i++) $i=a[$i]} 1' variables.txt dataframe.txt | column -t
A B C
1 2 3
4 5 6
7 8 9
关于linux - Bash:根据另一个文件中的行更改文件头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36397933/