次のようないくつかのファイル(約150個)があります。
reconstructed_hap_4_Local_nt_haplo_freq_60.3 GGGCAACTGGGCCAAGGTCGCTATCATCATGGTTATGTTTTCAGGGGTCGATGCCAATACATATATCACCGGTGGCAAAGCAGCTCAAACTGCCAGAGGCCTTGTTGGCTGGTTTAATCCGGGTCCCAAACAGAACCTGCAGCTGGTCAACACCAATGGCTCGTGGCA
reconstructed_hap_6_Local_nt_haplo_freq_37.2 GGGCAACTGGGCCAAGGTCGCTATCATCATGGTTATGTTTTCAGGGGTCGATGCCGAAACATATGCCTCCGGTGGCAGTGCAGCTCGTAATACCTG-GGCCTTTCTAGCTTGTTTAGTTCGGGTCCCAAACAGAGCCTGCAGCTGGTCAACACCAATGGCTCGTGGCA
reconstructed_hap_1_Local_nt_haplo_freq_0.6 GGGCAACTGGGCCAAGGTCGCTATCATCATGGTTATGTTTTCAGGGGTCGATGCCAATACATATATCACCGGTGGCAAAGCAGCTCAAACTGCCAGAGGCCTTGTTTGGCTGTTTAATCCGGGTCCCAAACAGAACCTGCAGCTGGTCAACACCAATGGCTCGTGGCA
ファイルごとに行数が異なります。
"freq_"の後のヘッダー行で各ファイルの数をフィルタリングしたいと思います。
この例では、60.3、37.2、0.6をフィルタリングしたいと思います。
最も好ましい出力は、各サンプルの名前を含むCSVファイルでなければなりません。
Filename1 60.3 37.2 0.6
Filename2 56.1 26.2 52.3 42.1
Filename3 2.5 1.2
あなたの解決策は何ですか?
ベストアンサー1
この試み、
cd /path/to/directory
for i in `ls`
do
VALUE=`awk '{print $1}' $i | awk -F '_' '{print $NF}' | tr '\n' '\t'`
echo -e "$i\t$VALUE"
done