![대규모 폴더/디렉토리 범위 또는 블록을 만드시겠습니까?](https://linux55.com/image/147190/%EB%8C%80%EA%B7%9C%EB%AA%A8%20%ED%8F%B4%EB%8D%94%2F%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%20%EB%B2%94%EC%9C%84%20%EB%98%90%EB%8A%94%20%EB%B8%94%EB%A1%9D%EC%9D%84%20%EB%A7%8C%EB%93%9C%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
[아래 답변을 반영하도록 편집됨]
명령줄에서 폴더/디렉터리 블록을 생성하거나 "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
먼저 해당 디렉터리에 있는지 확인하세요.