主に解決策を検索して投稿を読んだ後、スタック オーバーフローに関する投稿をするのはこれが初めてです。bash を使用してループを実行しようとしているので、ext .u.clean を使用して一連の異なるファイルに対して文字列検索を実行できます。これらのファイルを調べて、文字列 "H#" または "h#" を# は 1 ~ 28 で、検索された番号を文字列としてファイルに出力します。2 つのフィールド ($5 と $0) で 2 つの別々の検索を行っており、一意の一致の総数をファイル "temp"#.txt に出力したいと考えていました。この後、ファイルに入力された 2 つの数値を計算したいと思います。これまでのところ、私はこれまでに得ました:
for i in {1..28}; do
awk -v var="$i" -F"\t" ' $19 ~ "_[hH]"var {print $0}' */*.u.clean | \
sort | uniq | wc -l > 'temp'$i'.txt' | \
awk -v var="$i" -F"\t" ' $19 ~ "_[hH]"var {print $5}' */*.u.clean | \
sort | uniq | wc -l >> 'chris'$i'.txt'
done
問題は、数値が間違っていることです。合計 28 個の "temp"#".txt" ファイルを取得していますが、入力は正しい単語数ではありません。また、数値を含むファイルを持っている場合、数学演算を行う方法もわかりません。誰かが私を助けたり、正しい方向に向けたりできますか? 助けてくれてありがとう。
編集:
入力の一部は次のようになります。
112 E 03 294168 FBLN7_rs335586251.5 GG
01/23/2013 2 3 VSD コントロール 130123_CR_CH5_H26 1 A.Conservative17 D 11 294319 FBLN7_rs335586251.5 GG 06/26/2012
2 3 VSD コントロール
120626_CR_CH5_H3 1 A.保守的22 B 01 294703 FBLN7_rs335586251.5 GG 06/26/2012
2 2 VSD コントロール
120626_CR_CH5_H4 1 A.保守的103 A 07 295033 FBLN7_rs335586251.5 GG
01/23/2013 2 1 VSD コントロール
130123_CR_CH5_H23 1 A.Conservative44 G 07 295119 Tbx5_rs61931008.5 GG 07/11/2012
2 5 ASD コントロール
120711_CR_CH5_H12 1 A.保守的42 H 12 295201 JAG1_rs1232607.5 GG 07/11/2012
1 2 ASD コントロール
120711_CR_CH5_H12 1 A.保守的
フィールド 19 (テキスト Tbx5_rs61931008.5 のフィールド) で何回カウントを見つけようとしていますか?各H#。次に、これらの H# の一致で、フィールド 5 の一意のオケージョンがいくつあるかを知り、その数を H# ごとに同じファイルに出力します。これが明確であることを願っていますが、そうではないことを教えてください。ありがとう。