gpt4 book ai didi

linux - Bash:根据另一个文件中的行更改文件头

转载 作者:太空宇宙 更新时间:2023-11-04 04:45:59 25 4
gpt4 key购买 nike

我在文本文件(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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com