현재 디렉토리의 모든 파일에 다음 명령을 적용하고 싶습니다
clustalw -align -infile=*here goes the input filename* -outfile=*here goes the output filename*
또한 출력 파일 이름이 입력 파일 이름에 ".aln"을 더한 것과 동일해지기를 원합니다. 예를 들어:
clustalw -align -infile=nexus0000.fna -outfile=nexus000.fna.aln
도와주셔서 감사합니다!
답변1
for 루프를 사용하고 파일 확장자로 globbing을 사용할 수 있습니다.
for file in *.fna; do
clustalw -align -infile="$file" -outfile="$file.aln"
done
단일 명령을 사용하려면 다음을 사용할 수 있습니다 find
.
find . -maxdepth 1 -type f -iname "*.fna" -exec clustalw -infile {} -outfile {}.aln \;