확장자가 *bam
인 여러 파일을 병합하는 Java 프로그램을 실행해야합니다. 프로그램의 구조는 다음과 같습니다.파일을 한 줄씩 읽고 Java 프로그램을 실행하십시오.
java -jar mergefiles.jar \
I=file1.bam \
I=file2.bam \
I=file3.bam \
O=output.bam
그래서이 디렉토리에서 모든 * bam 파일에 대해이 프로그램을 실행하려고합니다.
while read -r line; do
java -jar MergeFiles.jar \
I=$line \
O=output.bam
done < filenames.txt
그러나 프로그램이 실행 : 처음에, 나는 (filenames.txt)
file1.bam
file2.bam
file3.bam
와 마찬가지로, '동안'명령을 사용하여 *의 빵 파일의 이름 목록을 만들려고 텍스트 파일에 각각 *bam
개의 파일이 있지만 전부는 아닙니다 (시간당 하나의 파일 만 병합하고 출력을 덮어 씁니다). 그래서, 모든 파일을 재귀 적으로 *bam
에 병합하는 프로그램을 어떻게 실행할 수 있습니까?
또한이 문제를 해결하기 위해 bash (예 : 루프 사용) 옵션이 있습니까?
미리 감사드립니다.
'xargs' 또는'parallel'을 사용해야합니다. [this quesion] (https://stackoverflow.com/questions/3770432/xargs-with-multiple-arguments)을 살펴보면 필요한 것을 처리 할 수 있습니다. –