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 <[EMAIL PROTECTED]>: > 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 <[EMAIL PROTECTED]>: > > > > > > > > > > > > > > > > *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)ÐØ <[EMAIL PROTECTED]>: > > > > > 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)ÐØ <[EMAIL PROTECTED]>: > > > > > > 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)ÐØ <[EMAIL PROTECTED]>: > > >> > > >>> 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] > > > > >