これは私自身の学習のためのものですが、awk
コマンドを実行する前に-
の前に$5
を分割する必要があるinput
というファイルがあります。基本的には、一致するすべての$5
文字列を$3-$2
で合計して、行と合計を出力しますが、分割なしではすべて同じです。私は前にファイルを分割することができますが、私は1つですべてを行うことができますか不思議ですawk
。 commanddは、awk
が実行される前に分割されている場合、ファイルに対して機能します。ありがとうございました :)。awkはコマンドを分割して実行します
入力
chr1 955543 955763 chr1:955543-955763 AGRN-6|gc=75
chr1 957571 957852 chr1:957571-957852 AGRN-7|gc=61.2
AWK
awk '{split($5,a,"-"); a[1]} {c1[$a1]++; c2[$a1]+=($3-$2)}
END{for (e in c1) print e, c1[e], c2[e]}' input > out
(分割なし)**電流出力**
AGRN-6 220
AGRN-7 281
所望の出力
AGRN 2 501
問題の説明を解析できません。何が起こると思いますか? – dovetalk
'ARGN'の' $ 3- $ 2'と 'ARGN'のカウントが出力されます。しかし、 'ARGN'を非ユニークにする' input'の '$ 5'の' split 'がなければ、カウントは動作しません。これは役に立ちますか?ありがとうございました :)。 – Chris
通常は、a)入力の例(完了)b)期待される出力(欠落)とc)これまでの試み(完了)を投稿することは良い考えです。追加b) – hek2mgl