LINUX.ORG.RU

История изменений

Исправление nerve, (текущая версия) :

#!/bin/bash
cd ./testdir

create_dirs () {
for i in {1..22}; do
    mkdir root$i
    for j in 1 2 3; do
        mkdir ./root$i/child$j
        touch ./root$i/child$j/file
    done
done
}

create_files () {
mkdir ./filesall
for i in {1..22}; do
    for j in 1 2 3; do
        cp ./root$i/child$j/file ./filesall/file${i}_${j}
    done
done
}

case $1 in
    str) create_dirs
    ;;
    file) create_files
    ;;
    *) echo "Usage: `basename $0` str | file"
    ;;
esac

$ ls ./testdir/filesall/
file10_1  file1_2   file13_3  file16_1  file18_2  file20_3  file22_2  file4_2  file6_3  file9_1
file10_2  file12_1  file14_1  file16_2  file18_3  file2_1   file22_3  file4_3  file7_1  file9_2
file10_3  file12_2  file14_2  file16_3  file19_1  file21_1  file2_3   file5_1  file7_2  file9_3
file1_1   file12_3  file14_3  file17_1  file19_2  file21_2  file3_1   file5_2  file7_3
file11_1  file1_3   file15_1  file17_2  file19_3  file21_3  file3_2   file5_3  file8_1
file11_2  file13_1  file15_2  file17_3  file20_1  file2_2   file3_3   file6_1  file8_2
file11_3  file13_2  file15_3  file18_1  file20_2  file22_1  file4_1   file6_2  file8_3

Исходная версия nerve, :

#!/bin/bash
cd ./testdir

create_dirs () {
for i in {1..22}; do
    mkdir root$i
    for j in 1 2 3; do
        mkdir ./root$i/child$j
        touch ./root$i/child$j/file
    done
done
}

create_files () {
mkdir ./filesall
for i in {1..22}; do
    for j in 1 2 3; do
        cp ./root$i/child$j/file ./filesall/file${i}_${j}
    done
done
}

case $1 in
    str) create_dirs
    ;;
    file) create_files
    ;;
    *) echo "Usage: `basename $0` str | file"
    ;;
esac