連続パターンの発生回数を計算する方法

連続パターンの発生回数を計算する方法

3つの列を持つファイルがあります。列3には次の遺伝子名が含まれています。

Rv0729,Rv0993,Rv1408  
Rv0162c,Rv0761c,Rv1862,Rv3086  
Rv2790c

各行の遺伝子数を印刷する方法は?

ベストアンサー1

1つの列とその中の列数だけを追加しようとしています。これは以下を使用して行うことができますawk

$ awk -F ',' '{ printf("%d,%s\n", NF, $0) }' data.in
3,Rv0729,Rv0993,Rv1408
4,Rv0162c,Rv0761c,Rv1862,Rv3086
1,Rv2790c

NFawk現在のレコード(行)のフィールド(列)数を含む変数です。各行にこの番号を印刷し、その後にコンマと行の残りの部分を印刷します。

他のオプション(結果は同じですが、よりきれいに見える場合があります):

$ awk -F ',' 'BEGIN { OFS=FS } { print NF, $0 }' data.in

FSは各レコードをフィールドに分割するために使用されるフィールド区切り文字であるため、コマンドラインでカンマにawk設定します(最初のソリューションに表示されます)。 ~である-F ','OFS出力FSフィールド区切り文字は、入力の最初の行を読み取り前と同じに設定します。

おすすめ記事