私は、10〜100行の長さのtxtファイルを持っており、前のフィールドが一致するならば、各行(および出力)を特定する必要があります。ここAWK - 一致後の特定のフィールドの合計
は、例えばDATSETある:
Sample4;6a0f64d2;size=1;,Sample4;f1cb4733a;size=6;,Sample3;aa44410feb29210c1156;size=2;
Sample2;5b91bef2329bd87f4c7;size=2;,Sample1;909cd4e2940f328b3;size=2;
構造は
<sample ID>;<random id>;size=<numeric>;,
次いで、次のエントリです。
基本的に、私は行の各エントリの「サイズ」の数を( '、'で区切られたエントリ)合計したいが、我々はちょうど一致させたい場合は、 『Sample4まで追加だから、
(例えば例えばsample4)特定のサンプル識別子との一致を持って、「Sample4のを持つエントリがあるので、スクリプトはthis-
awk '{some-code for sample4}' example.txt
7
0
を生成します』行1では7に、行2では一致するSample4エントリはありません。
これは、「SampleID」ごとに実行できます。理想的には、リストに含まれるすべてのサンプルID(1つのサンプルIDあたり1行のシンプルファイル)で実行できます。各サンプルIDには独自の列があります。上記の例のファイルの場合、スクリプトの結果は次のようになります:
Sample1 Sample2 Sample3 Sample4
0 0 2 7
2 2 0 0
どのようにすればよいですか?
ありがとうございます!
「行内に何百ものエントリがある」場合、 '\ n'の論理関数は何ですか?別々の行は何かを意味しますか? – dawg
各系統は異なるタクソンまたは生物に対応する。したがって、このスクリプトの目的は、各行(分類群)のサンプルIDの出現を合計/カウントすることです。 –