다음 패턴에 따라 이름이 지정된 긴 파일 목록이 있습니다.
S901_S1_fastq.gz
S902_S2_fastq.gz
S903_S3_fastq.gz
S904_S4_fastq.gz
etc.
이러한 파일은 다양한 실험 치료법에 해당하므로 각 치료법에 대한 디렉토리로 분리하고 싶습니다. 파일 번호 300을 이동하는 방법이 있습니까
S905_S5_fasta.gz
? . . S1205_S305_fasta.gz
새 디렉터리를 입력하시겠습니까?
이 작업을 수행하기 위해 다음 루프를 사용해 보았지만 for
작동하지 않았습니다.
for i in 'seq 905 1205'; do
scp S${i}* Target_directory
done
이 루프의 결과는 다음과 같습니다.
cp: cannot stat 'Sseq': No such file or directory
cp: cannot stat '905': No such file or directory
cp: cannot stat '1205*': No such file or directory
어떤 도움이라도 대단히 감사하겠습니다!
답변1
예를 들어 중괄호 확장을 지원하는 셸을 사용하는 경우 bash
파일을 직접 열거할 수 있습니다.
# S905_S5_fasta.gz to S1205_S305_fasta.gz
mkdir new_directory
mv S{905..1205}_* new_directory