gpt4 book ai didi

AWK——文件共享

转载 作者:行者123 更新时间:2023-12-04 05:38:14 25 4
gpt4 key购买 nike

我有两个文件:

文件_1

Head;track1;track2;track3;
date1;vol2;vol4;vol9;
date2;vol5;vol0;vol1;
date3;vol7;vol2;vol5;

文件_2
Head1
trackV1 track1
trackV2 track2
trackV3 track3

我想共享 File_1 并将结果存储在单独的文件中。使用 File_1 我分别写 ($1, $2), ($1, $3), ($1, $4)。新文件的名称将从第一列 File_2(trackV1、trackV2、trackV3)中检索。我想创建这些文件:

trackV1
Head track1
date1 vol2
date2 vol5
date3 vol7

trackV2
Head track2
date1 vol4
date2 vol0
date3 vol2

trackV3
Head track3
date1 vol9
date2 vol1
date3 vol5

我尝试了不同的解决方案,但不起作用:
awk 'BEGIN { while(getline < "File_1"){split($0, tab, ";"); print  $(getline a < "File_2") > tab[1] tab[2]}}'

谢谢你的帮助。

最佳答案

放入 foo.awk .用法(注意文件顺序)awk -f foo.awk File_2 File_1

BEGIN {
# fields separator
FS=";"
}

# skip a first line in the "names file"
NR==FNR && NR==1 {next}

NR==FNR {
# read "names file"
split($1, aux, " ")
name[aux[2]]=aux[1]
next
}

FNR!=NR && FNR==1{
# read a header of the "data file" and create output files
split($0, head)
for (i=2; i<NF; i++) {
print "Head", head[i] > name[head[i]]
}
next
}

{
# populate output files
for (i=2; i<NF; i++) {
print $1, $i >> name[head[i]]
}
}

关于AWK——文件共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11636677/

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