【发布时间】:2021-09-29 19:43:09
【问题描述】:
我有逗号分隔的文件,我想以相同的拆分条件 split($column,a,"-") 将第 15 列拆分为 $NF(第 15 列到最后一列)并打印每个拆分列 a[1]。我不能从第 n 个到最后一个列循环并为每个列打印。
awk -F',' -v OFS="\t" '{for(i;$15<i<$NF,i+1);split($i,a,"_"); print ???}' file.csv
文件打印表格第 15 列示例:
NBPF1-chr1-16579269-16579502-MedEx,NBPF1-chr1-16580779-16580863-MedEx,NBPF1-chr1-16581333-16581592-MedEx,NBPF1-chr1-16582457-16582758-MedEx,NBPF1-chr1-16583499-16583796-MedEx
我的期望:
NBPF1,NBPF1,NBPF1,NBPF1,NBPF1,NBPF1
谢谢。
【问题讨论】:
-
我认为你很接近:
{for(i=15;i<=$NF;++i){split($i,a,"-"); print a[1]}} -
$NF是最后一个字段内容,NF是数字,注意区别。