非法参考AWK数组(我有麻烦搞清楚AWK)

编程入门 行业动态 更新时间:2024-10-26 08:21:01
本文介绍了非法参考AWK数组(我有麻烦搞清楚AWK)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我想使用的脚本是:

cat gatk_probes.interval_list | awk ' BEGIN{ OFS="\t"; print "#CHR\tBP1\tBP2\tID" } { split($1,a,":"); chr=a[1]; if (match(chr,"chr")==0) { chr="chr"chr } split(a[2],b,"-"); bp1=b[1]; bp2=bp1; if (length(b) > 1) { bp2=b[2] } print chr,bp1,bp2,NR }' > ./EXOME.targets.reg

我收到错误:

awk: line 1: illegal reference to array b

有什么明显错误?

Is there something obviously wrong?

推荐答案

长度(B)是搞乱你,显然不是AWK的每一个执行支持它。你可以这样做,但:

length(b) is messing you up, apparently not every implementation of awk supports it. You can do this though:

BEGIN { OFS="\t"; print "#CHR\tBP1\tBP2\tID" } { split($1,a,":"); chr=a[1]; if (match(chr,"chr")==0) { chr="chr"chr } blength = split(a[2],b,"-"); bp1=b[1]; bp2=bp1; if (blength > 1) { bp2=b[2] } print chr,bp1,bp2,NR }

分裂返回数组中的元素(B在这种情况下)的数目。

split returns the number of elements in the array (b in this case).

更多推荐

非法参考AWK数组(我有麻烦搞清楚AWK)

本文发布于:2023-06-07 15:13:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/568456.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:我有   数组   麻烦   AWK

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!