このawkコマンドをシェルスクリプトで作成して、$ 4と$ 5の合計出現数をカウントしました。awk出現回数をカウントする
awk -F" " '{if($4=="A" && $5=="G") {print NR"\t"$0}}' file.txt > ag.txt && cat ag.txt | wc -l
awk -F" " '{if($4=="C" && $5=="T") {print NR"\t"$0}}' file.txt > ct.txt && cat ct.txt | wc -l
awk -F" " '{if($4=="T" && $5=="C") {print NR"\t"$0}}' file.txt > tc.txt && cat ta.txt | wc -l
awk -F" " '{if($4=="T" && $5=="A") {print NR"\t"$0}}' file.txt > ta.txt && cat ta.txt | wc -l
出力はシェルで####(数値)です。しかし、私は> ag.txt && cat ag.txt | wc -l
を取り除き、その代わりにAG = ####のようなシェルで出力を得たいと思っています。
これは、入力フォーマットです:
>seq1 284 284 A G 27 100 16 11 16 11
>seq1 266 266 C T 27 100 16 11 16 11
>seq1 185 185 T - 24 100 10 14 10 14
>seq1 194 194 T C 24 100 12 12 12 12
>seq1 185 185 T AAA 24 100 10 14 10 14
>seq1 194 194 A G 24 100 12 12 12 12
>seq1 185 185 T A 24 100 10 14 10 14
私は、単一の出来事ではない他のパターンのためのシェルまたはファイルに次のような出力をしたいです。
AG 2
CT 1
TC 1
TA 1
あなたは私たちにあなたが目指しているフォーマットされた出力を示し、そしておそらくいくつかを含むことができ、テストするサンプル入力? – ghoti
追加した出力が、作成したサンプルスクリプトと一致しません。あなたは本当にペアを数えるか、単に "A"と "G"を数える何かをしたいですか? – ghoti
私はそれを一つずつ行います。ですから、基本的には、シェルスクリプト内のawkコマンドを複数回実行します。 – Ramon