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: Flavio Junior
Subject: Re: [shell-script] Re: [shellscript] Re: renomeando arquivos
Date: Tue, 13 May 2008 09:52:55 -0300

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>:
>
>
>
>
>
>
> *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>:
>
>  > 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>:
>  >
>  > 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>:
>  >>
>  >>> 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]
>
>  


reply via email to

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