대규모 폴더/디렉토리 범위 또는 블록을 만드시겠습니까?

대규모 폴더/디렉토리 범위 또는 블록을 만드시겠습니까?

[아래 답변을 반영하도록 편집됨]

명령줄에서 폴더/디렉터리 블록을 생성하거나 "200000-209999"라는 제목의 최상위 폴더를 생성하는 스크립트를 생성한 다음 해당 폴더 내에서 하위 폴더의 이름을 다음과 같이 지정하는 방법을 찾고 있습니다.

200000-200499
200500-200999
201000-201499
... etc ...
... etc ...
208500-208999
209000-209499
209500-209999

간격 이름은 보시다시피 지정되며, 최상위 수준/하위 폴더의 다음 배치인 "210000-219999", "220000-229999" 등을 설정하고 싶습니다.

[편집하다]

내가 찾고 있는 것을 달성하기 위해 아래 답변을 기반으로 다음 스크립트를 생각해냈습니다. 제가 추가한 내용이 우아한 스크립팅이 아닐 수 있으므로 개선할 수 있으면 알려주시기 바랍니다.

#!/bin/bash
#
# mkfolders.sh
#
#    Ask user for starting range of job #'s and create the subsequent
#    folder hiearchy to contain them all.
#
###

clear
read -p 'Starting Job# in range: ' jobnum
mkdir "${jobnum}"-"$((jobnum + 9999))"
for start in $(seq $jobnum 500 $((jobnum+9999))); do mkdir "${jobnum}"-"$((jobnum + 9999))"/"${start}"-"$((start + 499))"; done
echo
echo Done!
echo

답변1

seq유틸리티는 숫자를 생성하는 방법입니다.

for start in $(seq 200000 500 209000); do mkdir "${start}"-"$((start + 499))"; done

구문은 입니다 seq start increment end.

답변2

간단한 쉘 방법은 다음과 같습니다:

$ i=200000; while [ "$i" -ne 210000 ];do  echo ${i}-$((i+499)); i=$((i+500)); done

실제 폴더를 만들려면 다음 echo으로 바꾸세요 . mkdir이 루프는 폴더를 배치하려는 디렉터리에서 실행되어야 하므로 cd먼저 해당 디렉터리에 있는지 확인하세요.

관련 정보