
私のディレクトリ構造は次のとおりです。
x:\Project_2012-158A\Sample_4041
SampleSheet.csv
4041_CGTACG_L002_R1_001.fastq
4041_CGTACG_L002_R2_001.fastq
4041_CGTACG_L006_R2_001.fastq
4041_CGTACG_L006_R1_001.fastq
x:\Project_2012-158A\Sample_4027
SampleSheet.csv
4027_TAGCTT_L002_R2_001.fastq
4027_TAGCTT_L006_R1_001.fastq
4027_TAGCTT_L002_R1_001.fastq
4027_TAGCTT_L006_R2_001.fastq
x:\Project_2012-158A\Sample_D425
SampleSheet.csv
D425_ACTGAT_L008_R2_001.fastq
D425_ACTGAT_L008_R1_001.fastq
D425_ACTGAT_L004_R2_001.fastq
D425_ACTGAT_L004_R1_001.fastq
サンプルごとに別々に「R1」と「R2」でファイルをリンクしたいと思います。わかりました
cat file1.fastq file2.fastq > concatenation.fastq
接続を提供します。しかし、単一のスクリプトを使用してすべてのサブディレクトリに対してこれをどのように実行しますか?
答え1
cd /path/to/Project_2012-158A &&
for dir in Sample*/; do
for r in R1 R2; do
outfile=${dir%/}_${r}.fastq
glob=*_${r}_*.fastq
cat "$dir"/$glob > "$dir/$outfile" &&
rm -f "$dir"/$glob
done
done
答え2
このように:
cat ./*/*R2* > result
*
- すべてを一致
R2
ファイル名に表示される内容をすべて取得します。