Задача проста.
В папке есть ряд каталогов c именем FolderX, X меняется от 1 до 22. В каждой папке Name есть 3 подпапки с именем вида varY, y меняется от 1 до 3. И в каждой папке Var содержится файл File. Нужно создать копию этого файла с именем FileX_Y и переместить в каталог Filesall, который будет находиться там же, где и папки FolderX, в условнокорневом каталоге. Есть скрипт, написанный «в лоб».
#!/bin/bash
mkdir "filesall"
outer=1
for (( i=1; i<=22; i++ ))
do
cd "folder$i"
pwd
inner=1
for j in 1 2 3
do
cd "var$j"
pwd
cp file.file file${i}_${j}.file
echo "file${i}_${j}"
mv file${i}_${j}.file ../../filesall/
cd ../
let "inner+=1"
done
cd ../
pwd
let "outer+=1"
done
Не работает. Копирует файл из Var1 первой папки Folder1 под разными именами.
Есть второй. По сути, делает тоже, но написан по-другому.
#!/bin/bash
for j in 1 2 3
do
mkdir "filelsall"
cd "filesall"
pwd
for (( i=1; i<=22; i++ ))
do
cp "../folder$i/var$j/file.file" "file$i_$j.file"
done
cd ..
pwd
done