【发布时间】:2016-03-13 01:07:32
【问题描述】:
我正在尝试使用awk 获取文件中每个匹配字符串的总长度和每个匹配项的计数。 $5 中的匹配字符串是计数,每个 $3 - $2 的总和是总长度。希望下面的awk 是一个好的开始。谢谢你:)。
输入
chr1 1266716 1266926 chr1:1266716-1266926 TAS1R3
chr1 1267008 1267328 chr1:1267008-1267328 TAS1R3
chr1 1267394 1268196 chr1:1267394-1268196 TAS1R3
chr1 1268291 1268514 chr1:1268291-1268514 TAS1R3
chr1 1956371 1956503 chr1:1956371-1956503 GABRD
chr1 1956747 1956866 chr1:1956747-1956866 GABRD
chr1 1956947 1957187 chr1:1956947-1957187 GABRD
chr1 1220077 1220196 chr1:1220077-1220196 SCNN1D
期望的输出
TAS1R3 4 1555
GABRD 3 491
SCNN1D 1 119
awk
awk '{count[$5]++}
END {
for (word in count)
print $1,$2,$3,$4,word, count[word]
}' input > count |
awk 'print $1,$2,$3,$4,word, count[word]
}
{ $6 = $3 - $2 }
1' count.txt > length
编辑
SCNN1D 1 119
GABRD 3 240
TAS1R3 4 223
【问题讨论】: