如何解决awk脚本中的问题?

法特玛A.

我有以下使用bcftools获得的数据集;

$ bcftools query -f '%CHROM %POS %REF %ALT %AN %AC \n' fname.vcf 
CHROM POS REF ALT AN AC 

6 85406127 T A 6 2
6 85406180 T G 6 5
6 85406187 T G 6 1
-
-
-
6 85434019 T A 0 0
6 85434075 A C 0 0

所需的输出是通过以下命令获得的:

bcftools query -f '%CHROM %POS %REF %ALT %AN %AC \n' fname.vcf | awk '$5 !=0' | awk '{printf "%s:%s %s:%s %f\n", $1, $2, $3, $4,$6/$5}' 
6:85406127 T:A 0.333333
6:85406139 T:C 0.000000
6:85406180 T:G 0.833333

在数据集中,它在第5列和第6列中包含零。所以0除以0会导致致命的后果:尝试除以零这就是为什么我要在输出的第三栏中看到NA。

6:85406127 T:A 0.333333
6:85406139 T:C NA
6:85406180 T:G 0.833333

我尝试获取输出的结果如下所示:

bcftools query -f '%CHROM %POS %REF %ALT %AN %AC \n' fname.vcf | awk '{ if [[ $5!= 0 && $6!=0 ]]
'{printf "%s:%s %s:%s %f\n", $1, $2, $3, $4,$6/$5}'
else
'{printf "%s:%s %s:%s %b\n", $1, $2, $3, $4, 'NA'}'
}'

但是我收到了以下结果:

awk: cmd. line:1: { if [[ $5!= 0 && $6!=0 ]]
awk: cmd. line:1:      ^ syntax error
awk: cmd. line:1: { if [[ $5!= 0 && $6!=0 ]]
awk: cmd. line:1:                         ^ syntax error
awk: cmd. line:2: {printf
awk: cmd. line:2:        ^ unexpected newline or end of string

如何解决此问题?

欢迎任何贡献!

铁素体

你快到了 使用以下awk:

awk '{ if ($5!= 0 && $6!= 0) {printf "%s:%s %s:%s %f\n", $1, $2, $3, $4,$6/$5} else {printf "%s:%s %s:%s NA\n", $1, $2, $3, $4} }'

“ NA”字符串是printf字符串本身的一部分还有,你不要放在{ *statemet* }里面'

另外,请勿在AWK内部混用bash计算([[ ]])。

您可以在此处快速检查AWK语法

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何解决.gs脚本中的字符集问题?

来自分类Dev

如何解决.gs脚本中的字符集问题?

来自分类Dev

如何解决xlsxwriter中的对齐问题

来自分类Dev

如何解决Arch中的音频问题?

来自分类Dev

如何解决python中的拆分问题?

来自分类Dev

如何解决LinearLayout中的宽度问题?

来自分类Dev

如何解决后缀中的这个问题

来自分类Dev

如何解决dgrid中的defineAlreadyDefined问题?

来自分类Dev

如何解决Python中的编码问题

来自分类Dev

如何解决cordova中sqlite的问题?

来自分类Dev

如何解决 Python 中的 KeyError 问题?

来自分类Dev

如何解决cucumberjs中的歧义问题?

来自分类Dev

如何解决“ MIME类型不匹配错误”,该问题阻止了我的Google Apps脚本中AJAX请求的资源?

来自分类Dev

如何解决这些问题

来自分类Dev

如何解决语义问题

来自分类Dev

如何解决swrevealviewcontroller问题

来自分类Dev

如何解决BST问题?

来自分类Dev

如何解决Pandoc问题

来自分类Dev

如何解决此问题?

来自分类Dev

如何解决墙纸问题?

来自分类Dev

如何解决ListBox问题?

来自分类Dev

安装问题:如何解决?

来自分类Dev

如何解决过热问题?

来自分类Dev

如何解决RefCell问题?

来自分类Dev

编码问题,如何解决?

来自分类Dev

如何解决这个问题?

来自分类Dev

如何解决stackNavigator的问题

来自分类Dev

如何解决地址问题

来自分类Dev

如何解决flywaydb中脚本的版本号冲突