(Nazev) VELKA na " mala" pismena
Robert Vojta
vojta na ipex.cz
Neděle Květen 13 16:41:25 CEST 2001
> #!/bin/sh
> for i in *
> do
> mv $i `ls $i | sed
> "y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/"`
> done
Zdravim,
hmm, ale tohle vam treba neprovede "lower" na ceske znaky, atp. Taky to
neumi prejmenovavat soubory v jinem adresari nez aktualnim, ... Na toto tema
bylo napsano spousta prispevku a jmenuji se nejak takhle "Hromadne prejmenovani
...". Zkuste treba toto:
#!/bin/sh
for f in $* ; do
LOWERNAME=`echo $f | sed 's/^.*\///' | tr [:upper:] [:lower:]`
DIRECTORY=`echo $f | sed 's/[^\/]*$//'`
mv $f $DIRECTORY$LOWERNAME > /dev/null 2>&1
done
Pokud si to pojmenujete treba lower, tak muzete psat takovy veci jako
`lower test/*.HTML` atp. Samozrejme to lze udelat na tisic ruznych zpusobu,
ale tohle bude asi nejprijatelnejsi na vysvetleni.
LOWERNAME=`echo $f | sed 's/^.*\///' | tr [:upper:] [:lower:]`
/ |
/ |
sed vypreparuje z cele cesty k souboru |
pouze jeho nazev |
/
nasledujici tr to transformuje na
mala pismena. pokud mate spravne locales & spol
tak vam to pretransformuje i velka ceska
pismena na mala
DIRECTORY=`echo $f | sed 's/[^\/]*$//'`
/
/
tady sed vypreparuje z cele cesty adresar kde se souboru
co chceme prejmenovat nachazi
mv $f $DIRECTORY$LOWERNAME > /dev/null 2>&1
a timto soubor prejmenujeme. Samozrejme velikost pismen v ceste k souboru
zustala zachovana diky preparaci na vyse uvedene casti DIRECTORY a LOWERNAME.
.R.V.
P.S. Jak rikam, mate tisice zpusobu jak toto cele udelat ... (shell, perl,
awk, sed, tr, ...)
--
_
|-| __ Robert Vojta <vojta-at-ipex.cz> -= Oo.oO =-
|=| [Ll] IPEX, s.r.o.
"^" ====`o
------------- další část ---------------
A non-text attachment was scrubbed...
Name: [žádný popis není k dispozici]
Type: application/pgp-signature
Size: 240 bytes
Desc: [žádný popis není k dispozici]
URL: <http://www.linux.cz/pipermail/linux/attachments/20010513/2ba62da4/attachment.sig>
Další informace o konferenci Linux