LINUX.ORG.RU

Сообщения cyplenok

 

Скрипт на bash - вложенный цикл

Форум — General

Задача проста.

В папке есть ряд каталогов 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

 ,

cyplenok
()

RSS подписка на новые темы