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

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

Re: [shell-script] Script para reonomear arquivos?


From: Raul Libório
Subject: Re: [shell-script] Script para reonomear arquivos?
Date: Thu, 24 Jul 2008 12:29:47 -0300

Opa

Se quser procurar por mais extensões, poderia usar com um vetor, ficaria
mais ou menos assim:

#------------
RENOMEAR(){

LISTA="png gif jpg ico JPG PNG ICO GIF"

for BUSCA in $LISTA
do
    I=0
    BUSCA[I]=${BUSCA}
    I=$(echo ${I}+1 | bc)
    ls *.${BUSCA} 2> /dev/null | while read ARQ
    do
        NOVO=$( echo $ARQ | tr ' ' '_' )
        if [ "$NOVO" != "$ARQ" ]
        then
            echo "$ARQ -> $NOVO"
            mv "$ARQ" "$NOVO"
        fi

    done
done

}
#---------
--

Raul Libório
UniJorge Redes - www.redesfja.com
rauhmarutsªhotmailºcom
Linux user#4444581
[(55) 71] 9246 9828
/ `
/
.------.
|"""""""|
|Linux |
|inside|
`--------'
Dúvidas: enviar para /dev/null .
Respondei assim que possível."
_____________________________
"Nada se cria, tudo se compila."

2008/7/23 Rafael Tomelin <address@hidden>:

>   Opa,
>
> Achei as duas soluções legais, mas como manjo pouco de shell script,
> gostaria de juntar as duas opções.
>
> Já fiz algo do tipo:
>
> EXT="mp3"
>
> ls *.${EXT} | while read ARQ
> do
> NOVO=`echo $ARQ | tr ' ' '-'`
> if [ "$NOVO" != "$ARQ" ]
> then
> NOVO2=`echo $NOVO | tr '-' '_'`
> NOVO3=`echo $NOVO2 | tr -s '_'`
> echo "$ARQ -> $NOVO"
> mv "$ARQ" "$NOVO3"
> CONT=`expr $CONT + 1`
> fi
> done
>
> Porém nao deu muito certo, pois o "ARQ" está com o nome de arquivo com
> espaço e sem a "\"
>
> 2008/7/23 Julio C. Neves <address@hidden <julio.neves%40gmail.com>
> >:
>
>
> > Aê Rafael,
> > uma solução *muito pouco* ortodoxa... ;)
> >
> > Antigos=$(find /home/dados -name "* *" -o -name '*\*') # Arqs com \ e
> > branco
> > no nome
> > Novos=$(tr -s ' \\' '__' <<<"$Antigos") # compacta \ e branco e
> transforma
> > em _
> > paste <(echo "$Antigos") <(echo "$Novos") | xargs -tL1 mv
> >
> > Neste último cmd o paste junta as linhas das 2 variáveis criadas. O xargs
> > pega a saída linha-a-linha (-L1) e coloca atrás (epa!) do mv. A opção -t
> do
> > xarqs é só para mostrar o que ele está fazendo.
> >
> > --
> > Abraços,
> > Julio
> > *Em setembro estarei dando um treinamento
> > Shell em Brasília (em 2 fins de semana).
> > Mais informações: www.tecnologiabr.com.br
> > Tel: (61) 3354-3162
> >
> > *
> > 2008/7/23 Rafael Tomelin <address@hidden<rafael.tomelin%40gmail.com>
> <rafael.tomelin%40gmail.com>
> > >:
> >
> > > Olá pessoal,
> > >
> > > Gostaria de ver com vocês, como que faço um script que busca dentro de
> um
> > > determinado diretório "/home/dados" e sub-diretórios
> > > "/home/dados/contabilidade", *arquivos* que contenham espaço no nome ou
> > > "\". Ex.: "contabilidade discal" ou "contabilidade\patrimonial" ou
> > > "contabilidade\sei lah \ o que".
> > >
> > > E alterar-se essas caracteres por "_".
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > --
> > Abraços,
> > Julio
> > Em setembro estarei dando um treinamento
> > Shell em Brasília (em 2 fins de semana).
> > Mais informações: www.tecnologiabr.com.br
> > Tel: (61) 3354-3162
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



reply via email to

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