Соответствуя рядам файлов в папке, название каждой пары файлов похоже на это с базовым именем, например
LP6005334-DNA_H01_vs_LP6005333-DNA_H01.passed.somatic.indels.vcf.parsed.txt
и
LP6005334-DNA_H01_vs_LP6005333-DNA_H01.passed.somatic.indels.vcf_fixed_vcf.txt.hg19_multianno.txt
Как я могу извлечь columns 5th and 6th
из файлов с passed.somatic.indels.vcf.parsed
в их имени файла и добавляют эти столбцы в подобранный файл (passed.somatic.indels.vcf_fixed_vcf.txt.hg19_multianno
) возврат вывода .txt с базовым именем (LP6005334-DNA_H01_vs_LP6005333-DNA_H01
)
Для вырезания столбцов я сделанный
[
fi1d18@cyan01 folder]$ for f in *.passed.somatic.indels.vcf.parsed.txt; do awk '{print $5,$6}' $f > $out
> done;
-bash: $out: ambiguous redirect
После этого я не знаю, как найти подобранную находку и добавить столбцы сокращения к этому
Это - ссылка пары этих файлов
и
Это зависит, как Ваши файлы разграничены, но необходимо смочь использовать что-то как
for f in *.vcf.parsed.txt; do
cut -f3,4 "$f" | paste "${f%.parsed.txt}_fixed_vcf.txt.hg19_multianno.txt" - > "${f%%.*}.txt"
done
Расширения ${f%.parsed.txt}
и ${f%%.*}
удалите, соответственно, самые короткие и самые длинные "точечные суффиксы" от циклично выполненного имени файла.
Для пары файла
LP6008336-DNA_H02_vs_LP6008333-DNA_H02.snp.pass.txt
LP6008336-DNA_H02_vs_LP6008333-DNA_H02.snp.pass.txt.hg19_multianno.txt
которые не соответствуют соглашению о присвоении имен в Вашем исходном вопросе, необходимо будет изменить соответствия шаблона соответственно
напр.
for f in *.pass.txt; do
cut -f60,61 "$f" | paste "$f.hg19_multianno.txt" - > "${f%%.*}.txt";
done