0
我試圖創建一個awk腳本,該腳本能夠根據第3個字段計數連續圖案的數量,並且如示例中那樣打印第一個和最後一個座標字段(第2個字段)。如何使用awk查找行中的連續模式?
我有一個腳本,可以協調的窗戶,我想,例如計算在任何模式的數量:1000000在對中心的數據:
awk '{a[$1 FS 1000000*int(($2-1)/1000000)+500000]++} END{for(k in a) print k,a[k]}' file
但是它計算所有模式的數無關爲1/1或0/1。
17 38172452 1/1
17 38172942 1/1
17 38172973 1/1
17 38173143 0/1
17 38176256 0/1
17 38176476 1/1
17 38178149 0/1
17 38178627 0/1
17 38179275 0/1
17 38179290 0/1
17 38179492 0/1
17 38179667 1/1
17 38182229 0/1
17 38183090 0/1
17 38183505 0/1
17 38188419 0/1
17 38188844 0/1
17 38189049 0/1
預期結果:
17 38172452 38172973 3 1/1
17 38173143 38176256 2 0/1
17 38178149 38179492 5 0/1
17 38182229 38189049 6 0/1
你們能幫助我這個?
awk來救援! –
我在打印語句中發現了一個小錯誤,即標記字段(第3字段)被打印錯誤,我更改了$ 3,並且它被修復。 awk'{if(p == $ 3){C++; e = $ 2} else {if(c> 1)print $ 1,b,e,p,c; b = $ 2; C = 1; p = $ 3}} END {print $ 1,b,$ 2,p,c}'文件 非常感謝卡拉克法! –
是的,對,當然... – karakfa