경로와 함께 파일 이름을 포함하는 목록 만들기

경로와 함께 파일 이름을 포함하는 목록 만들기

예제 이름이 하위 디렉터리(508_C, 540_C, 570_D 등)인 디렉터리(INPUTDIR)가 있습니다. 각 하위 디렉터리에는 두 가지 유형의 파일을 모두 포함하는 FASTQ라는 또 다른 디렉터리가 있습니다.

예를 들어

540_Ct_1.fastq.gz
540_Ct_2.fastq.gz

두 개의 목록을 만들고 싶습니다. 첫 번째 목록에는 경로가 있는 모든 _1.fastq.gz 파일 이름이 포함되어 있고 다른 목록에는 경로가 있는 _2.fastq.gz 파일 이름이 포함되어 있습니다.

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

INPUT DIR > 508_C >FASTQ > 508_1.fastq.gz 508_2.fastq.gz
INPUT DIR > 540_C >FASTQ > 540_Ct_1.fastq.gz 540_Ct_2.fastq.gz
INPUT DIR > 570_D >FASTQ >570_Ct_1.fastq.gz 570_Ct_2.fastq.gz

INPUTDIR은 홈 디렉터리입니다. 이 디렉토리에 두 개의 목록을 만들고 싶습니다. 목록에는 다음이 포함됩니다.

/home/user/INPUT DIR > 508_C >FASTQ > 508_1.fastq.gz 
/home/user/INPUT DIR > 540_C >FASTQ > 540_Ct_1.fastq.gz 
/home/user/INPUT DIR > 570_D >FASTQ > 570_Ct_1.fastq.gz 

두 번째 목록에는 다음이 포함됩니다.

/home/user/INPUT DIR > 508_C >FASTQ >508_2.fastq.gz
/home/user/INPUT DIR > 540_C >FASTQ > 540_Ct_2.fastq.gz
/home/user/INPUT DIR > 570_D >FASTQ >  570_Ct_2.fastq.gz

감사해요,

답변1

cd INPUTDIR
find . -name \*1.fastq.gz > list1
find . -name \*2.fastq.gz > list2

"목록" 파일의 경로는 현재 디렉터리를 기준으로 합니다. 절대 경로를 원하면 다음을 사용하십시오.

find "$PWD" -name \*1.fastq.gz > list1

관련 정보