以下のファイルに対してforループを実行したいのですが、ファイルに「レム剪定名前に「が入っています。ただトリムするだけで終わりです。
これはトリムがあるがrem_trimを持たないファイルに対して機能します。
list=`for i in *trim*.1.fq; do echo $i | cut -f 1 -d \. | uniq ; done`
for i in $list; do fastqc $i.1.fq ; fastqc $i.2.fq; done
これが私が「rem_trim」ファイルにしようとしたことです:
list=`for i in *rem_trim*.1.fq; do echo $i | cut -f 1 -d \. | uniq ; done`
for i in $list; do fastqc $i.1.fq ; fastqc $i.2.fq; done
文書:
sample_AACCA.rem_trim.1.fq sample_ACTGG_trim.2_fastqc.html sample_CTGCG_trim.1_fastqc.html sample_GCATG_trim.2.fq sample_GGTTG_trim.1.fq sample_TCACG.rem_trim.2.fq
sample_AACCA.rem_trim.2.fq sample_ACTGG_trim.2_fastqc.zip sample_CTGCG_trim.1_fastqc.zip sample_GCCGT.rem_trim.1.fq sample_GGTTG_trim.2_fastqc.html sample_TCACG_trim.1_fastqc.html
sample_AACCA_trim.1_fastqc.html sample_ACTGG_trim.2.fq sample_CTGCG_trim.1.fq sample_GCCGT.rem_trim.2.fq sample_GGTTG_trim.2_fastqc.zip sample_TCACG_trim.1_fastqc.zip
sample_AACCA_trim.1_fastqc.zip sample_CGAAT.rem_trim.1.fq sample_CTGCG_trim.2_fastqc.html sample_GCCGT_trim.1_fastqc.html sample_GGTTG_trim.2.fq sample_TCACG_trim.1.fq
sample_AACCA_trim.1.fq sample_CGAAT.rem_trim.2.fq sample_CTGCG_trim.2_fastqc.zip sample_GCCGT_trim.1_fastqc.zip sample_GTCCG.rem_trim.1.fq sample_TCACG_trim.2_fastqc.html
sample_AACCA_trim.2_fastqc.html sample_CGAAT_trim.1_fastqc.html sample_CTGCG_trim.2.fq sample_GCCGT_trim.1.fq sample_GTCCG.rem_trim.2.fq sample_TCACG_trim.2_fastqc.zip
sample_AACCA_trim.2_fastqc.zip sample_CGAAT_trim.1_fastqc.zip sample_GCATG.rem_trim.1.fq sample_GCCGT_trim.2_fastqc.html sample_GTCCG_trim.1_fastqc.html sample_TCACG_trim.2.fq
sample_AACCA_trim.2.fq sample_CGAAT_trim.1.fq sample_GCATG.rem_trim.2.fq sample_GCCGT_trim.2_fastqc.zip sample_GTCCG_trim.1_fastqc.zip SE
sample_ACTGG.rem_trim.1.fq sample_CGAAT_trim.2_fastqc.html sample_GCATG_trim.1_fastqc.html sample_GCCGT_trim.2.fq sample_GTCCG_trim.1.fq
sample_ACTGG.rem_trim.2.fq sample_CGAAT_trim.2_fastqc.zip sample_GCATG_trim.1_fastqc.zip sample_GGTTG.rem_trim.1.fq sample_GTCCG_trim.2_fastqc.html
sample_ACTGG_trim.1_fastqc.html sample_CGAAT_trim.2.fq sample_GCATG_trim.1.fq sample_GGTTG.rem_trim.2.fq sample_GTCCG_trim.2_fastqc.zip
sample_ACTGG_trim.1_fastqc.zip sample_CTGCG.rem_trim.1.fq sample_GCATG_trim.2_fastqc.html sample_GGTTG_trim.1_fastqc.html sample_GTCCG_trim.2.fq
sample_ACTGG_trim.1.fq sample_CTGCG.rem_trim.2.fq sample_GCATG_trim.2_fastqc.zip sample_GGTTG_trim.1_fastqc.zip sample_TCACG.rem_trim.1.fq
しかし、私はそれを理解します:
Skipping 'sample_AACCA.1.fq' which didn't exist, or couldn't be read
Skipping 'sample_AACCA.2.fq' which didn't exist, or couldn't be read
Skipping 'sample_ACTGG.1.fq' which didn't exist, or couldn't be read
Skipping 'sample_ACTGG.2.fq' which didn't exist, or couldn't be read
Skipping 'sample_CGAAT.1.fq' which didn't exist, or couldn't be read
Skipping 'sample_CGAAT.2.fq' which didn't exist, or couldn't be read
Skipping 'sample_CTGCG.1.fq' which didn't exist, or couldn't be read
Skipping 'sample_CTGCG.2.fq' which didn't exist, or couldn't be read
Skipping 'sample_GCATG.1.fq' which didn't exist, or couldn't be read
Skipping 'sample_GCATG.2.fq' which didn't exist, or couldn't be read
Skipping 'sample_GCCGT.1.fq' which didn't exist, or couldn't be read
Skipping 'sample_GCCGT.2.fq' which didn't exist, or couldn't be read
Skipping 'sample_GGTTG.1.fq' which didn't exist, or couldn't be read
Skipping 'sample_GGTTG.2.fq' which didn't exist, or couldn't be read
Skipping 'sample_GTCCG.1.fq' which didn't exist, or couldn't be read
Skipping 'sample_GTCCG.2.fq' which didn't exist, or couldn't be read
Skipping 'sample_TCACG.1.fq' which didn't exist, or couldn't be read
Skipping 'sample_TCACG.2.fq' which didn't exist, or couldn't be read
何が間違っていて何がうまくいくのか知っていますか?ありがとうございます!
ベストアンサー1
問題は、最初のファイルセットには名前に1つのドットがあり、2番目のファイルセットには3つの名前にドットがあることです。
for i in *rem_trim*.1.fq; do echo "${i%.?.fq}" | uniq ; done
正しい名前部分を提供します。
しかし、なぜもっと簡単にしないのか理解できません。
for i in *rem_trim*.1.fq; do
fastqc $i
done
for i in *rem_trim*.2.fq; do
fastqc $i
done
でも
for i in *rem_trim*.1.fq *rem_trim*.2.fq; do
fastqc "$i"
done