하위 디렉터리의 여러 파일 연결

하위 디렉터리의 여러 파일 연결

내 디렉토리 구조는 다음과 같습니다

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파일 이름에 나타나는 모든 내용을 가져옵니다 .

관련 정보