(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