Reseni v Bash

Bohdan Milar milar na tyflocentrum-ol.cz
Středa Listopad 5 12:09:00 CET 2003


On Tue 4. November 2003 08:47, you wrote:

Dobrý den,

> Ani tak mi to nefunguje, odpovedi je No such file or directory. Mozna jsem
> spatne popsal  ulohu. Je adresar DIR1 v nem podadresare NAZEV1,NAZEV2,NAZEV3
> v kazdem z nich je mimo jine textovy soubor s nazvem jako prislusny adresar
> zacinajici dvema podtrzitky tj. __NAZEV1.TXT, __NAZEV2.TXT, __NAZEV3.TXT....
> Chci aby se vybraly pouze textove soubory a nakopirovaly se do jineho 
adresare
> (DIR2), ve kterem jsou pripraveny odpovidajici prazdne adresare (NAZEV1,
> NAZEV2, NAZEV3). Vysledkem by melo byt DIR2/NAZEV1/__NAZEV1.TXT atd.

To je situace opravdu trochu jiná, potom navrhuji následující:

i="1"
chyba=""

while [ -z $chyba ]; do
   cp -v DIR1/NAZEV${i}/__NAZEV${i} DIR2/NAZEV${i}/__NAZEV${i} || chyba="1"
   i=`expr $i + 1`
done

Skript předpokládá, že číselná řada NAZEV1, ... NAZEVn neni přerušená a 
konstantně se zvyšuje o 1. O postupu bude vypisovat hlášky. Protože není 
stanovena horní hranice, skončí skript v okamžiku, kdy narazí na neexistující 
číslo. Vypíše proto chybu "není souborem ani adresářem".

S pozdravem

Bohdan Milar


Další informace o konferenci Linux