Hromadne prejmenovani souboru jeste jednou
Alexandr Malusek
malusek na hroch.ujf.cas.cz
Úterý Červen 20 16:43:23 CEST 2000
thebigone na centrum.cz (David Sumsky) writes:
> > :> Takze bych potreboaval ty soubory prejmenovat tak, aby prvni
> > :> pismeno v nazvu zustalo velke a zbyle byly male.
> ...
> Jeste bych rad videl neco podobneho v shellu, jde to nejak?
Ano. Dokonce se to da udelat "cele" v shellu (ksh), ale neni to ani
elegantni, ani univerzalni (soubory nemohou obsahovat mezery, konverze
pravdepodobne nezafunguje OK na znaky s akcenty, ...). Reseni v Perlu
se mi libi vic.
#!/bin/ksh
function newname {
typeset -L1 ap=$1 # ap = prvni znak
typeset -l az=${1##?} # az = zbytek
echo "${ap}${az}"
}
ls | while read name1; do
name2="$(newname $name1)"
if [[ "$name1" != "$name2" ]]; then
mv "$name1" "$name2"
fi
done
Misto "typeset -l ..." je samozrejme mozne pouzit "tr ..." a cela
konstrukce se da zkratit.
--
A. Malusek (malusek na ujf.cas.cz)
UJF AV CR
Další informace o konferenci Linux