Prejmenovani adresaru - SOLVED

Zdenek Precek precek na icom.cz
Čtvrtek Duben 20 14:04:09 CEST 2000


On 19 Apr 2000 linux na linux.cz wrote:

> Nejde o to napsat to jakkoliv - programy by se mely psat _prehledne_ a
> s ohledem na dostupne "resources". Tyto pozadavky vyse uvedeny skript
> nesplnuje. Abych rekl pravdu, tak se mi to nelibilo natolik, ze jsem
> napsal jinou verzi. Nevim, jestli funguje (netestoval jsem ji), ale
> rozhodne je prehlednejsi :-).
> 
> #!/bin/ksh
> 
> function prejmenuj {                             # ./D1/D2
>   path=${1%/*}                                   # ./D1
>   NAME=${1##*/}                                  # D2
>   name=$(print $NAME | tr [:upper:] [:lower:])   # d2
>   if [[ $NAME != $name ]] then
>     print $path/$NAME "->" $path/$name
>     # mv $path/$NAME $path/$name
>   fi
> }
> 
> find . -type d -depth -print \
>   | while read dirname; do
>       prejmenuj $dirname;
>     done
> 

Takze jen pro zajimavost.
Ja pouzivam jiz nekolik let tento skript:
 
#!/bin/sh
find ${@:-.} -depth | while read P; do
	D="${P%/*}"
	F="${P##*/}"
	f="`echo "$F" | LC_ALL=cs_CZ tr '[:upper:]' '[:lower:]'`"
	[ "$F" = "$f" ] || echo mv "$D/$F" "$D/$f" 
done

Dulezite jsou uvozovky kolem $F a $f pro pripad, ze by se ve jmene
vyskytovaly mezery a jine paznaky (velmi caste na VFAT). 

--
         v   v v   | precek na icom.cz      | SCP    (")     
Ing. ZDENEK PRECEK | +420-2-7933044      | 5200  _  \/\   
                   | Augustinova 2064/14 |    __  \/\\  _ 
                   | Praha 4, Chodov     |   | /|   / \/  
                   | 148 00              |   |//| _|      





Další informace o konferenci Linux