我有這個巨大的表〜200K行和列(選項卡分隔)。我想根據這個特定列的值$ 4來選擇它們,因此它們的值間隔至少爲100,但也要考慮列3的值。即打印根據價值距離,但考慮另一列
id tag xxx position score
id_1 aaaaaaa bbbbb 3190 1
id_2 aaaaaaa bbbbb 3199 1
id_3 aaaaaaa bbbbb 3300 1
id_4 aaaaaaa bbbbb 3350 1
id_5 aaaaaaa ccccc 100 1
id_6 aaaaaaa ccccc 500 1
id_7 aaaaaaa ccccc 550 1
id_8 aaaaaaa ccccc 599 1
爲了得到這樣的:
id tag block position score
id_1 aaaaaaa bbbbb 3190 1
id_3 aaaaaaa bbbbb 3300 1
id_5 aaaaaaa ccccc 100 1
id_6 aaaaaaa ccccc 500 1
前段時間@ hek2mgl helpedme根據距離來過濾使用此代碼
awk 'NR<3; NR==2{pv=$4} NR>2 && ($4-pv>=100){print;pv=$4}' file
但是值之間存在巨大的表,這段代碼並不考慮$ 3,現在我需要考慮避免爲每個塊創建一個新文件。這可能是可能的,因爲考慮到$ 4中的值不是consec如果他們不代表同一個區塊($ 3)?
謝謝
至少對我而言,並不清楚您希望$ 3如何影響處理。另外,將文件分類的費用(減$ 3和$ 4,反之亦然)是可以接受的嗎? – peak
$ 3上的值表示$ 4上的值對應的組。許多團隊3美元,價值4美元。問題是,4美元的價值是不連續的,這意味着一個團體可能結束1000,但另一個團體將從100開始。 – Ale