bash를 사용하여 디렉터리와 하위 디렉터리를 만드시겠습니까?

bash를 사용하여 디렉터리와 하위 디렉터리를 만드시겠습니까?

이것은 bash 스크립트를 실행할 때의 샘플 출력입니다 -->https://i.stack.imgur.com/KfUBk.jpg.

내 질문은 이것을 어떻게 만들 수 있는지 또는 어떤 코드를 사용할 수 있는지입니다.

답변1

for dir in a a/b a/b/c a/b/c/d; do
        mkdir "$dir" && touch "$dir/${dir##*/}"{1..100}
done

즉, 생성하려는 디렉터리 이름과 각 디렉터리에 대해 반복합니다.

  1. 그것을 만들고,
  2. 그 안에 빈 파일을 만듭니다.

${dir##*/}에 있는 디렉토리의 기본 이름으로 확장됩니다 $dir(예 c: $diris ) a/b/c. 중괄호 확장 something{1..100}은 으로 확장됩니다 something1 something2 ... something100.

임의의 깊이로 확장하기 쉬운 변형:

dir=''
for dirname in a b c d; do
        dir="${dir:-.}/$dirname"
        mkdir "$dir" && touch "$dir/${dir##*/}"{1..100}
done

여기서는 설정되지 않았 거나 비어 ${dir:-.}있으면 첫 번째 반복에 표시됩니다. 이는 먼저 빌드된 다음 등을 의미합니다..$dir$dir./a./a/b

예를 들어 다음과 같이 더 많은 하위 디렉터리를 원하는 경우 z:

dir=''
for dirname in {a..z}; do
        dir="${dir:-.}/$dirname"
        mkdir "$dir" && touch "$dir/${dir##*/}"{1..100}
done

관련 정보