[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: como renomear arqs e diretorios recursivamente...
From: |
Julio C. Neves |
Subject: |
Re: [shell-script] Re: como renomear arqs e diretorios recursivamente... |
Date: |
Fri, 14 Jul 2006 16:10:50 -0300 |
Ô Gleisson,
teu script está beleza, vc disse que o nome dele era corrige-arq.sh, né?
Então faça:
sed 's/$x/\"$x\"/g' corrige-arq.sh > corrige-arq.corrigido
e execute o corrige-arq.corrigido. Caso isso não funcione, no inicio do
script faça:
IFS="
"
Voilà! Agora está tudo funcionando...
Abração,
Julio de férias :)
:wq
Em 14/07/06, gleissonmb <address@hidden> escreveu:
>
> isso que vc mostrou funcionou blz...o problema eh quando tem branco no
> meio dos nomes ou diretorios....
>
> roda o meu script la em baixo e veja......so da pra fazer no dir
> local. (mude o * no for para `tree -i`)
>
>
> --- Em address@hidden, "Fabricio Lopes de Souza"
> <linux.fabricio@g...> escreveu
>
> >
> > [root@fabricio-wrk lala]# ls
> > arquivo_1 arquivo_10 arquivo_2 arquivo_3 arquivo_4 arquivo_5
> > arquivo_6 arquivo_7 arquivo_8 arquivo_9
> > [root@fabricio-wrk lala]# cd outro_dir/
> > [root@fabricio-wrk outro_dir]# ls
> > outro_arquivo_1 outro_arquivo_2 outro_arquivo_4 outro_arquivo_6
> > outro_arquivo_8
> > outro_arquivo_10 outro_arquivo_3 outro_arquivo_5 outro_arquivo_7
> > outro_arquivo_9
> > [root@fabricio-wrk outro_dir]# cd ..
> > [root@fabricio-wrk lala]# find . -type f -exec mv {} {}.new \;
> > [root@fabricio-wrk lala]# ls
> > arquivo_10.new arquivo_2.new arquivo_4.new arquivo_6.new
> arquivo_8.new
> > outro_dir
> > arquivo_1.new arquivo_3.new arquivo_5.new arquivo_7.new
> arquivo_9.new
> > [root@fabricio-wrk lala]# cd outro_dir/
> > [root@fabricio-wrk outro_dir]# ls
> > outro_arquivo_10.new outro_arquivo_2.new outro_arquivo_4.new
> > outro_arquivo_6.new outro_arquivo_8.new
> > outro_arquivo_1.new outro_arquivo_3.new outro_arquivo_5.new
> > outro_arquivo_7.new outro_arquivo_9.new
> > [root@fabricio-wrk outro_dir]#
> >
> > entendeu +- ?
> > On 7/14/06, Julio C. Neves <julio.neves@g...> wrote:
> > >
> > > Ô Gleisson,
> > > eu te falei para paquerar a menina do seu lado depois da aula. Qdo
> falei
> > > sobre isso vc estava de olho nela e não prestou atenção :)
> > >
> > > Sempre que vc falar no $x ele deverá estar entre aspas para o
> shell não
> > > ver
> > > o espaço. Caso isso não seja suficiente altere o IFS.
> > >
> > > Abração e "suShellso",
> > >
> > > --
> > > [ ]s,
> > > Julio (http://www.julioneves.com) <http://www.julioneves.com%29> <
> http://www.julioneves.com%29>
> > > Participe do 4o CONISLI - Congresso Internacional de Software
> Livre, dias
> > > 7 a 11 de novembro - SESC Vila Mariana - SP
> > > www.conisli.org
> > >
> > >
> > > Em 13/07/06, gleissonmb <gleisson@r...> escreveu:
>
> > >
> > > >
> > > > fala gente;
> > > > Essa eh minha primeira participacao neste grupo, ao qual tenho
> orgulho
> > > > de ter conhecido atraves do Julio C. Neves, num curso de shell em
> > > > Vitória ES.
> > > > Como iniciante que sou la vai uma duvida de iniciante..rsrs
> > > >
> > > > Como renomear arquivos e diretorios recursivamente?
> > > > Depois de tentar muito nao consegui fazer-lo recursivo.
> > > > taí o script.
> > > >
> > > >
> #####################################################################
> > > > #!/bin/bash
> > > >
> > > > # script para corrigir nomes de arquivos e diretorios.
> > > > # Gleisson Marin Bissa
> > > > # 26-06-2006 - 12:03 h
> > > > # $0 - corrige-arq.sh
> > > > # --------------------------------------------------------
> > > >
> > > > i=1
> > > > for x in * ; do
> > > > y=`echo $x | tr -s ' ' '-' | tr [:upper:] [:lower:] | sed
> > > >
> > > >
> > >
>
> 'y/ÁÀÃÂÄÉÈẼÊËÍÌĨÎÏÓÒÕÔÖÙÚŨÛÜáàãâäéèẽêëíìĩîïóòõôöùúũûü/AAAAAEEEEEIIIIIOOOOOUUUUUaaaaaeeeeeiiiiiooooouuuuu/'`
> > > > if [ ! -e $y ]; then let i++
> > > > mv "$x" "$y" ; echo Renomeando... "$x" para "$y"
> > > > fi
> > > > done
> > > > echo
> > > > echo `ls | wc -l` 'Arquivos submetidos!!!'
> > > > echo -ne $(($i-1)) Arquivos corrigidos para minúsculo!!!
> > > > echo
> > > > echo Mudando permissao dos arquivos para $LOGNAME.root...Aguarde!!!
> > > > chmod 700 ./ -R ; chown $LOGNAME.root ./ -R
> > > > echo
> > > >
> #####################################################################
> > > >
> > > > Obs.: O grande problema eh quando tem arquivos ou diretorios com
> > > > brancos no nome...
> > > > ex:
> > > > GLEISSON MARIN
> > > >
> > > > o shell ve assim:
> > > > GLEISSON
> > > > MARIN
> > > >
> > > > Valeu!!!
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> > >
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
>
>
>
>
>
>
--
[ ]s,
Julio (http://www.julioneves.com)
Participe do 4o CONISLI - Congresso Internacional de Software Livre, dias
7 a 11 de novembro - SESC Vila Mariana - SP
www.conisli.org
[As partes desta mensagem que não continham texto foram removidas]