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

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

Re: [shell-script] Resumo 1247 - Renomear arquivos de um diretorio


From: Marcelo G. Dias
Subject: Re: [shell-script] Resumo 1247 - Renomear arquivos de um diretorio
Date: Tue, 17 Aug 2004 22:16:16 -0300
User-agent: KMail/1.5.3

Em Seg 16 Ago 2004 08:40, address@hidden escreveu:
> Mensagem: 1        
>      Data: Sun, 15 Aug 2004 20:34:56 -0300 (BRT)
>        De: "Jorge Pereira" <address@hidden>
>   Assunto: Renomear arquivos de um diretorio
>
> Olá Pessoal da lista, tudo bem?
> Estou precisando de um script para renomear todos os arquivos de um
> determinado diretorio... alguem pode me da uma luz?
>
> Exemplo:
>
> [root@fuck /mp3]# ls
> foto3asbcasa.jpg
> vi3masdk.mpg
> casa3tas.txt
> [root@fuck /mp3]# ./script nome-
> nome-01.jpg
> nome-02.mpg
> nome.txt
> [root@fuck /mp3]#
>
> Como seria a rotina para esse determinado script? alguem pode ajudar?
> pensei em algo como... +/- assim...
>
> --
> #!/bin/bash
>
> ls | while read f;do
>   mv $f $f-$1
> done
> --
O que eu entendi é que você só quer renomear os arquivos e não os diretórios 
que estiverem dentro do diretório corrente, neste caso você pode tentar ...

#! /bin/bash

CONTA="0"

for i in $(ls -l | sed '/^d/d' | awk '{print $8}' | sed '/^$/d')
do
        EXT=`echo "$i" | cut -f2- -d"."`

        CONTA=`expr "$CONTA" + 1`

        if [ "$CONTA" -lt "10" ] ; then CONTA="00$CONTA" ;
        elif [ "$CONTA" -lt "100" ] ; then CONTA="0$CONTA" ; fi

        if [ ! "$1" ]
        then
                mv "$i" "$CONTA"."$EXT"
        else
                mv "$i" "$1"-"CONTA"."$EXT"
        fi
done

ou ...

#! /bin/bash

CONTA="0"

for i in *
do
        EXT=`echo "$i" | cut -f2- -d"."`

        CONTA=`expr "$CONTA" + 1`

        if [ "$CONTA" -lt "10" ] ; then CONTA="00$CONTA" ;
        elif [ "$CONTA" -lt "100" ] ; then CONTA="0$CONTA" ; fi

        if [ ! "$1" ]
        then
                [ -f "$i" ] && mv "$i" "$CONTA"."$EXT" || echo "$i -> Não 
renomeado"
        else
                [ -f "$i" ] && mv "$i" "$1"-"CONTA"."$EXT" || echo "$i -> Não 
renomeado"
        fi
done

Espero têr ajudado ...

>
> ...
> sei la, sinceramente não consegui imaginar como seria a rotina!
> Aguardo a ajuda de todos!
> ate mais

-- 
\|||||/
(o o)       *** Seja Livre e evite a pirataria use GNU/Linux ***
--( )-0ooo-------------------------------------------------------
| MARCELO GIOVANNI DIAS - WEBMASTER
| E-mail: address@hidden - Site : http://www.boletim.net
-----------------------------------------------------------------



reply via email to

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