fastq 파일을 찾으려면 여러 하위 디렉터리를 반복해야 합니다.
fastq 파일은 /path/sample/a/b/c/.fastq에 있습니다.
현재 나는 이것을 사용합니다 :
${inputDir}/**/**/**/*.fastq
내 입력 디렉터리는 /path/sample 뿐이고 세 개의 하위 폴더 때문에 "/**/"를 세 번 사용합니다. 그러나 때로는 하위 폴더가 변경되지 않을 수도 있습니다.
여러 하위 디렉터리를 반복하는 다른 효율적인 방법이 있습니까?
내 bash 스크립트:
#! /bin/bash -l
CWD=$(pwd)
dateStamp=$(date +%s)
SeqProj="${inputDir}/**/**/**/*.fastq"
for Dir in $SeqProj
do
done
답변1
find / -iname '*.fastq' -exec /path/to/foo.sh {} \;
그런 다음 foo.sh
루프 내에서 호출하는 모든 작업을 수행하는 스크립트가 있습니다. $1을 사용하여 찾은 파일을 참조하고 해당 이름을 스크립트에 전달합니다.
Mike의 답변도 효과가 있습니다. 실제로 무엇을 하려는지에 따라 다릅니다.
답변2
가장 쉬운 방법은 다음을 사용하는 것입니다 find
.
for Dir in $(find "$inputDir" -name '*.fastq')