이것은 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
즉, 생성하려는 디렉터리 이름과 각 디렉터리에 대해 반복합니다.
- 그것을 만들고,
- 그 안에 빈 파일을 만듭니다.
${dir##*/}
에 있는 디렉토리의 기본 이름으로 확장됩니다 $dir
(예 c
: $dir
is ) 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