내 디렉토리 구조는 다음과 같습니다
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
파일 이름에 나타나는 모든 내용을 가져옵니다 .