ako premenovat subory v podadresaroch

Petr Kolar PETR.KOLAR na vslib.cz
Středa Únor 3 11:56:23 CET 1999


Robert Toth <robert na kiss.sk> wrote:
> Ladislav Kaderjak wrote:
> > 
> > ako premenovat co najjednoduchsie subory v celej adresarovej strukture
> > xx.htm -> xx.html
> > myslel som nieco ako "find . -name *htm | xargs mv" a dalej neviem
> > ( CD Cisco Sales Tools Central Dec98 - v zdrojaku same html a na CD len
> > htm )
> 
> zeby takto ?
> 
> 
> #/bin/sh
> 
> for i in `find . -name "*.htm" -print`
> do
>   nazov=`basename $i .htm`
>   mv $i $nazov.html
> done

   To se dockate neprijemneho prekvapeni, protoze basename odstrani nejen
priponu, ale i cestu k souboru. Pri prejmenovani *.htm na *.html staci pouze
nazov="$i"l, jinak (treba pro obracene prejmenovani) by slo krome pouziti 
nazov=`dirname $i`/`basename $i .html` take treba

find . -name \*.html -print | \
  sed -e 's/^\(.*\)\(\.html\)$/mv \1\2 \1.htm/' | sh -
  
Vyhoda je, ze misto sh - muzete napred dat less, a tak se podivat, co se 
vlastne bude dit. Samozrejme misto sed lze pouzit awk, perl, apod.

                                                       S pozdravem
--
                          ***  Petr Kolar  ***
 Department of Information Technologies, Technical University of Liberec
             Voronezska 1329, 461 17 Liberec, Czech Republic
             Phone: +420-48-535-2371   Fax: +420-48-535-2229
  E-mail: Petr.Kolar na vslib.cz  http://asterix.vslib.cz/staff/kolar.html


Další informace o konferenci Linux