shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: [shellscript] Re: renomeando arquivos


From: ®i©@®ÐØ
Subject: Re: [shell-script] Re: [shellscript] Re: renomeando arquivos
Date: Sun, 25 May 2008 08:23:40 -0300

Ainda bem que teve a explicação!!!!
fiz uma pequena modificação e ficou assim
# for file in *; do CLI=($(sed 's/\([A-Za-z]\+\)\(.*\)-\([0-9]\+\)\(.*\)$/\1
\2 \3 \4/' <<<$file)); echo mv $file
"${CLI[2]}-${CLI[1]}${CLI[0]}${CLI[3]}"; done


Este outro também funcionou mas não entendi, alguem pode explicar?!
f(){
 p=$[${#a}-16]
 printf ${a:$[p+9]:3}-${a:p:8}${a:0:p}.${a:$[p+13]}
}
for a in *; do echo mv $a $(f); done


2008/5/13 Flavio Junior <address@hidden>:

>   Credu..
> gmail zuo tudo..
>
> for file in *; do
> # Fazendoa variavel CLI receber um array
> # O sed transforma a saida em CLIENTE DATA BOLETO EXTENSAO
> # Uni tudo com o ( ) pra virar um array pro shell
>
> CLI=($(sed 's/\([A-z]\+\)\(.*\)-\([0-9]\+\)\(.*\)$/\1 \2 \3 \4/'
> <<<$file));
> # $file é o arquivo original, e depois eu monto ele da forma que quiser
> # com a ajuda do array criado
> mv $file "${CLI[2]}-${CLI[1]}${CLI[0]}${CLI[3]}";
> done
>
> --
>
> Flavio do Carmo Junior aka waKKu
> #bash-br @ irc.freenode.net
>
> 2008/5/13 Flavio Junior <address@hidden <billpp%40gmail.com>>:
>
> > ACho que ta bem simples de entender...
> >
> > lazlo:~/test# ls -l
> > total 0
> > -rw-r--r-- 1 root root 0 May 13 09:47 Naaaame20080424-012.pdf
> > -rw-r--r-- 1 root root 0 May 13 09:47 Naaame20080424-012.pdf
> > -rw-r--r-- 1 root root 0 May 13 09:47 Naame20080424-012.pdf
> > -rw-r--r-- 1 root root 0 May 13 09:47 Name20080424-012.pdf
> > -rw-r--r-- 1 root root 0 May 13 09:34 Nome20080424-012.pdf
> > lazlo:~/test# for file in *; do CLI=($(sed
> > 's/\([A-z]\+\)\(.*\)-\([0-9]\+\)\(.*\)$/\1 \2 \3 \4/' <<<$file)); echo
> > mv $file "${CLI[2]}-${CLI[1]}${CLI[0]}${CLI[3]}"; done
> > mv Naaaame20080424-012.pdf 012-20080424Naaaame.pdf
> > mv Naaame20080424-012.pdf 012-20080424Naaame.pdf
> > mv Naame20080424-012.pdf 012-20080424Naame.pdf
> > mv Name20080424-012.pdf 012-20080424Name.pdf
> > mv Nome20080424-012.pdf 012-20080424Nome.pdf
> > lazlo:~/test#
> >
> >
> > No caso so remover o "echo" da linha ali.. que eu so mandei printar...
> >
> > lazlo:~/test# for file in *; do CLI=($(sed
> > 's/\([A-z]\+\)\(.*\)-\([0-9]\+\)\(.*\)$/\1 \2 \3 \4/' <<<$file)); mv
> > $file "${CLI[2]}-${CLI[1]}${CLI[0]}${CLI[3]}"; done
> > lazlo:~/test# ls -l
> > total 0
> > -rw-r--r-- 1 root root 0 May 13 09:47 012-20080424Naaaame.pdf
> > -rw-r--r-- 1 root root 0 May 13 09:47 012-20080424Naaame.pdf
> > -rw-r--r-- 1 root root 0 May 13 09:47 012-20080424Naame.pdf
> > -rw-r--r-- 1 root root 0 May 13 09:47 012-20080424Name.pdf
> > -rw-r--r-- 1 root root 0 May 13 09:34 012-20080424Nome.pdf
> > lazlo:~/test#
> >
> >
> > Espero ter ajudado,
> >
> > --
> >
> > Flávio do Carmo Júnior aka waKKu
> > #bash-br @ irc.freenode.net
> >
> > I'm back :D
> >
> > 2008/5/10 Paulo Silvestre Schmitt <address@hidden <ps2rox%40gmail.com>
> >:
> >
> >
> > >
> > >
> > >
> > >
> > >
> > >
> > > *sei* que está tosco e é lerdo, mas é o que consegui fazer em 10
> minutos. e
> > > funciona.
> > >
> > > ...
> > > do
> > > nome="$(echo $a | cut -d. -f1)"
> > > ext="$(echo $a | cut -d. -f2)"
> > > num="$(echo $nome | cut -d'-' -f2)"
> > > nomeSemNum="$(echo $nome | cut -d'-' -f1)"
> > > pessoa="$(echo $nomeSemNum | sed 's/[0-9]//g')"
> > > data="$(echo $nomeSemNum | sed 's/[A-z]//g')"
> > > echo mv $a $num-$data$pessoa.$ext
> > > done
> > >
> > > []s PSS
> > >
> > > 2008/5/10 (R)i(c)@(R)ÐØ 
> > > <address@hidden<informatica%40rbncurriculo.cjb.net>
> >:
> > >
> > > > consegui evoluir até aqui, com ER, mais ainda não foi o suficiente.
> > > >
> > > > find -maxdepth 1 -type f -name "*.pdf"|awk -F/ '{print $2}'|while
> read a;
> > > > do echo mv $a `echo $a|grep -oE "([0-9])+\.";echo $a|grep -oE
> > > > "([0-9]){8}";echo $a|grep -oE "[A-Z]([a-zA-Z])+"`.pdf; done
> > > >
> > > > Conto com a ajuda dos senhores!!
> > > >
> > > >
> > > > 2008/5/10 (R)i(c)@(R)ÐØ 
> > > > <address@hidden<informatica%40rbncurriculo.cjb.net>
> >:
> > > >
> > > > Pessoal, eu costumo usar este script para renomear arquivos:
> > > >> find -maxdepth 1 -type f -name "Eliana*"|while read a; do echo mv $a
> > > `echo
> > > >> $a|sed -e 's#OldFile#NewFile#' `;done
> > > >>
> > > >> Entretanto em minha nova necessidade tá complicado e ainda não
> consegui
> > > >> faze-lo.
> > > >> existe varios boletos com o seguinte padrão, Nome20080424-012.pdf, e
> > > devo
> > > >> renomea-los para 012-20080424Nome.pdf, onde o nome é o nome do
> Cliente,
> > > 012
> > > >> é o numero do boleto, e 20080424 é a data de vencimento de cada
> boleto.
> > > >>
> > > >> Estudei os registradores internos do sed, a parti da sugestão do
> Tiago,
> > > >> mas ainda não consegui resolver o meu problema.
> > > >> estou tentando usar ER, mas não consigo definir uma tecnica ainda
> para
> > > >> trocar os valores.
> > > >>
> > > >> Aguado ajuda.
> > > >> att.
> > > >> Ricardo Brito
> > > >>
> > > >> 2008/4/24 (R)i(c)@(R)ÐØ 
> > > >> <address@hidden<informatica%40rbncurriculo.cjb.net>
> >:
> > > >>
> > > >>> tenho desenas de arquivos com o seguinte padrão:
> > > >>>
> > > >>> nome20080424.pdf
> > > >>> onde o numero é o ID do arquivo e desejo renomea-los para:
> > > >>> 20080424nome.pdf
> > > >>>
> > > >>> Como posso faze-lo?
> > > >>>
> > > >>> --
> > > >>>
> > > >>> ----------------------------------------------------------
> > > >>> A Graça do nosso Senhor Jesus Cristo seja contigo. (1ªTs 5.28)
> > > >>> The grace of our Lord Jesus Christ be with you. (1ªTs 5.28)
> > > >>> Jesus te ama, aceite-O! Jesus loves you, accept you Him!
> > > >>>
> > > >>> (R)i(c)@(R)ÐØ
> > > >>>
> > > >>
> > > >>
> > > >>
> > > >> --
> > > >>
> > > >> ----------------------------------------------------------
> > > >> A Graça do nosso Senhor Jesus Cristo seja contigo. (1ªTs 5.28)
> > > >> The grace of our Lord Jesus Christ be with you. (1ªTs 5.28)
> > > >> Jesus te ama, aceite-O! Jesus loves you, accept you Him!
> > > >>
> > > >> (R)i(c)@(R)ÐØ
> > > >>
> > > >
> > > >
> > > >
> > > > --
> > > >
> > > > ----------------------------------------------------------
> > > > A Graça do nosso Senhor Jesus Cristo seja contigo. (1ªTs 5.28)
> > > > The grace of our Lord Jesus Christ be with you. (1ªTs 5.28)
> > > > Jesus te ama, aceite-O! Jesus loves you, accept you Him!
> > > >
> > > > (R)i(c)@(R)ÐØ
> > > >
> > > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> >
>  
>



-- 
-------------------------------------------------------------------------------------
A Graça do nosso Senhor Jesus Cristo seja contigo. (1ªTs 5.28)
The grace of our Lord Jesus Christ be with you. (1ªTs 5.28)
Jesus te ama, aceite-O! Jesus loves you, accept you Him!

(R)i(c)@(R)ÐØ


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]