为什么';这个awk代码不符合我的要求吗?

为什么';这个awk代码不符合我的要求吗?,awk,Awk,我有这个档案: $ head -n 4 badRegionFromHWE.merged seqnames start end width strand chr1 144118070 145868461 1750392 * chr7 100049516 101110026 1060511 * chr7 141508887 142999071 1490185 * $ 我不想打印标题行和打印由制表符分隔的第1、2、3列。所以我写了这个: awk 'OFS="\t";NR>1{print$1,$

我有这个档案:

$ head -n 4 badRegionFromHWE.merged
seqnames start end width strand
chr1 144118070 145868461 1750392 *
chr7 100049516 101110026 1060511 *
chr7 141508887 142999071 1490185 *
$
我不想打印标题行和打印由制表符分隔的第1、2、3列。所以我写了这个:

awk 'OFS="\t";NR>1{print$1,$2,$3}' badRegionFromHWE.merged | head
seqnames start end width strand
chr1 144118070 145868461 1750392 *
chr1    144118070   145868461
chr7 100049516 101110026 1060511 *
chr7    100049516   101110026
chr7 141508887 142999071 1490185 *
chr7    141508887   142999071
它没有做我想让它做的事

赋值
OFS=“\t”
在每一行上计算为true(非零,非空),因此它会打印每一行。应将表达式括在开始块中:

awk 'BEGIN { OFS="\t" } NR > 1 { print$1, $2, $3 }' badRegionFromHWE.merged