我有这样文件第1章13369510 13369602节PRAMEF18 0 +字符1 13369510 13369602 PRAMEF19 0 +我想比较每一行的前三列,如果匹配,则输出如下所示字符1 13369510 13369602 PRAMEF18,PRAMEF19 0 +
myss37ts1#
这应该可行:
awk 'BEGIN { FS = OFS = "\t" } { key = $1 FS $2 FS $3; last_fields[key] = $5 FS $6; lines[key] = lines[key]?lines[key] ", " $4 : $1 FS $2 FS $3 FS $4; } END { for (line in lines) print lines[line], last_fields[line] }' your_file.tsv
(根据Ed Morton的建议编辑了代码)
1条答案
按热度按时间myss37ts1#
这应该可行:
(根据Ed Morton的建议编辑了代码)