키워드를 기준으로 특정 폴더로 파일을 이동하는 방법에 대해 질문이 있습니다. 예를 들어 다음과 같은 파일이 많이 있습니다: R01.fastq.gz R02.fastq.gz R03.fastq.gz R04.fastq.gz...다음과 같은 폴더가 있습니다: data01 data02 data03 data04...원하는 작업 R01.fastq.gz를 data01로, R02.fastq.gz를 data02로, R03.fastq.gz를 data03으로, R04.fastq.gz를 data04로 변환... 그렇다면 루프 스크립트를 사용하여 이 작업을 어떻게 수행합니까? 감사합니다!
답변1
# use brace expansion to create a list 00,01,02,[...] 98,99
for i in {0..9}{0..9} ; do
# defining file and directory as vars as we will use them a couple of times each
F=R$i.fastq.gz
D=data$i/
# if F does not exist, or is not a file, do nothing
[ -f $F ] || continue
# create any needed directories and move files if created OK (mkdir
# will fail if D exists but is not a directory)
mkdir -p $D && mv $F $D
done