60.19.11.1. Slévání adresářů

rcsinfo="$Id: unix.xml,v 1.7 2009-03-07 03:52:40 radek Exp $"

FIXME:

Nejdříve zadání. FIXME: dopsat zadání. Dále upřesnění zadání:

Marvin: Takže nejdřív k zadání.  Je třeba upřesnit část věcí.
Frakor: ptej se
Marvin: Kolik bude zdrojový adreářovách stromů.  Málo nebo moc?
Marvin: Budou se měnit často nebo naopak vůbec.
Marvin: T.j.  Bude jejich seznam přimo ve skriptu neb je třeba ho načítat z konfiguračního souboru.  Nebo ho chceš předávat jako parametr skriptu.
Frakor: vzdy to bude ve tvaru .../adresar_vychozi/...vnorene_adresare
Marvin: ?, Takž se jedná jen o jediný adresářový strom?
Frakor: ano vzdy pro dany vychozi adresar
Frakor: myslel jsem ze by se to dalo predat jako input data myslim ta cesta k vychozimu adresari pro prohledavani
Marvin: jj, takže to budem ořezávat.
Frakor: tj spustim skript a on se zepta odkud ches prohledavat
Marvin: ?? nemám rád skripty co se ptají, nedají se automatizovat.
Frakor: jak mu ale specifikuji tu cestu ?
Marvin: cílový adresář, bude se měnit nebo bude pořád stejný
Frakor: cilovy se stanovi takze by mel obsahovat jmeno vychoziho adresare aby se vedelo odkud to tam je

Výsledné řešení:

Příklad 60.1. Kopírování souborů

#!/bin/sh
# $Header: /home/radek/cvs/unix-book/example/bash/kopirovani-souboru.sh,v 1.1.1.1 2009-01-24 15:42:51 radek Exp $
# P�enos soubor�


# Pojmenov�n� parametr�
source_dir="$1"
target_dir="$2"
str=$3

### MAIN
mkdir -p $target_dir
set -x
# Pr�chod adres��ov�m stromem
find $source_dir -iname "*$str*" -type f -exec ./kopiruj-soubor.sh "{}" $target_dir \;