誰かが私がフォルダ内のファイルを反復処理するためのループを書くのを手伝ってくれるなら、それは私に莫大な時間を節約するでしょう。非常に単純な解決策に違いないと思いますが、現在、ループ内にループをネストする方法がわかりません。これまでのところ、私はこのスクリプトを持っています:
cd /folderlocation/
for i in `</textfile_containing_lines_to_iterate_through`
do
#size=`echo $i | perl -nE '/:([\d-]+)/ && say abs(eval $1)'`
#echo "$size"
zcat dataset | head -n 18 > temp"$i".vcf
tabix dataset $i >> temp"$i".vcf
vcftools --window-pi 1000000 --vcf temp10individuals"$i".vcf >> run_summary.txt
cat out.windowed.pi >> outputfile_2
#rm temp*
done
grep -v "PI" outputfile_2 > outputfile
rm outputfile_2
これを拡張して、スクリプトがすべての「textfiles_taining_lines_to_iterate_through」を介して複数回実行されるようにする必要があります。現在、テキストファイルの名前を毎回手動で変更し、スクリプトを再実行しています。したがって、フォルダー内のファイルに対してこれを実行し、出力ファイルを入力ファイルと照合できるように、出力ファイル名の一部としてファイルの名前を使用するループが必要になります。
どんな助けでも本当に役に立ち、大いに感謝します!
よろしくお願いします。