Prejmenovani adresaru - SOLVED
Alexandr Malusek
malusek na hroch.ujf.cas.cz
Středa Duben 19 18:11:28 CEST 2000
Jan.Korinek na compaq.com (Korinek, Jan) writes:
> Takze reseni jem pouzil nasledujici :-)
>
> #!/usr/bin/ksh
> find . -type d | sort -r > DIRS.TMP
> for i in `cat DIRS.TMP | grep "/"`
> do
> pre=`echo $i | sed "s/\/[^/]*$/\//"`
> to=`echo $i | tr "/" "\n" | tail -1`
> to=$pre`echo $to | tr [:upper:] [:lower:]`
> echo FROM $i TO $to
> mv $i $to
> done
> rm DIRS.TMP
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
--
A. Malusek (malusek na ujf.cas.cz)
UJF AV CR
Další informace o konferenci Linux