小编Lul*_*ina的帖子

使用awk连接来自不同文件的多列

我有 4 个 tsv(制表符分隔)文件,如下所示:

文件_1:

abc 1
def 2
ghi 3
Run Code Online (Sandbox Code Playgroud)

文件_2:

abc 2
ghi 3
Run Code Online (Sandbox Code Playgroud)

文件_3:

def 1
ghi 2
jkl 4
Run Code Online (Sandbox Code Playgroud)

文件_4:

ghi 3
jkl 4
Run Code Online (Sandbox Code Playgroud)

我想加入这些文件以获得 1 个 tsv 文件,如下所示:

dataset file_1 file_2 file_3 file_4
abc     1      2             
def     2      4            
ghi     3      3      2      3
jkl                   4      4
Run Code Online (Sandbox Code Playgroud)

我尝试使用 awk

$ awk '
    BEGIN{OFS=FS="\t"} 
    FNR==1{f = f "\t" FILENAME} 
    NR==FNR{a[$1] = $2} 
    NR!=FNR{a[$1] = a[$1] "\t" $2} 
    END{printf "dataset%s\n", f; for(i in a) print i, a[i]} …
Run Code Online (Sandbox Code Playgroud)

awk text-processing join

5
推荐指数
1
解决办法
472
查看次数

标签 统计

awk ×1

join ×1

text-processing ×1