2014-11-19 3 views
0

각각 하나 또는 두 개의 파일 *.fastq을 포함하는 94 개의 하위 디렉토리가있는 디렉토리가 있습니다. 이 파일들 각각에 동일한 파이썬 명령을 적용하고 새 파일 qc_*.fastq을 생성해야합니다.여러 개의 하위 디렉토리에있는 여러 파일에 동일한 명령을 적용합니다.

나는 각 파일에 개별적으로 bash는 스크립트를 적용하는 방법을 알고 있지만 찾을

+0

당신이 생각하는 것이 명확하지는 않습니다. 최상위 디렉토리에서 하위 디렉토리로 이동하는 bash 스크립트를 실행한다는 의미입니까? – ABMagil

답변

3

를 사용하여 한 번에 모든 파일에 명령을 적용 할 bash는 스크립트를 작성하는 방법이 있는지 궁금 해요 :

find . -type f -iname "*.fastq" -exec python script {} \; 

. :

-type f 최상위 대부분의 디렉토리 만

을 파일3210 : 파일 이름은 .fastq로 끝납니다 (대소 문자 구분 안 함)

-exec python script : 실행할 명령입니다.

+0

굉장한 감사합니다! find 명령은 훌륭하게 작동하지만 출력 파일에 qc_ 접두어를 추가하는 데 사용할 수있는 python 변수가 있습니까? – wrutter

+0

그건 분명히 파이썬 스크립트가 실제로 무엇을하는지에 달려 있습니다. '-exec python script {}> qc_file.fastq \;'를 할 수있을 것입니다. – nanny

+0

실제로 위 내용은 원하는대로 작동하지 않습니다. 그것은 당신의 스크립트에 달려 있습니다. – nanny

2

find . -name "*.fastq" | xargs your_bash_script.shfind을 사용하여 모든 파일을 가져 와서 각각의 파일에 적용 할 수 있습니다.

관련 문제