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

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

aleatoriedades


From: Aurelio Marinho Jargas
Subject: aleatoriedades
Date: Thu, 11 Nov 2004 15:13:57 -0300 (ART)

oi amigo julio,

 --- Julio Cezar Neves - DATAPREVRJ escreveu: 

> vc anda tão sumido que eu acho que o teu verde é
> de camuflagem! :)

:)
eu leio a lista sempre, já escrever requer mais tempo
e ultimamente isso anda bem escasso por aqui...


> 1 - São msgs com essa do Manuel que dão a maior força
> pra gente, né?

com certeza! é o $$$ do software livre :)

aproveitando o e-mail:

- atualização do conivete com os escapes do prompt (PS1):

  http://aurelio.net/shell/canivete.html#prompt

- atualização das funções ZZ com a zznomefoto, para
  renomear arquivos com a numeração bagunçada

  http://aurelio.net/zz

  lembro que um dia, tempão atrás alguém perguntou por
  algo parecido aqui na lista.


explicação da função:

é o seguinte: como se tira muitas fotos, depois as ruins
são apagadas e a seqüência numérica das fotos que sobram
fica cheia de intervalos.

com a zznomefoto é possível remonear os arquivos de maneira
que a seqüência fique certa, iniando com 1 ou qualquer
outro número definido pelo usuário (opção -i).

também é possível mudar o nome dos arquivos, usando um
prefixo definido pelo usuário (-p), como por exemplo
"festa-" ou "churrasco-".

para complementar, ainda há uma opção -d para se definir
quantos dígitos serão usados para a numeração, o padrão
é 3.

e por último mas talvez o mais importante, há uma opção
-n que apenas mostra na tela como ficarão os nomes dos
arquivos após renomeá-los, mas não os altera. assim é
possível brincar com as opções antes de renomear os
arquivos.

exemplo:

$ ls *.JPG
DSC0211.JPG DSC0223.JPG DSC0226.JPG DSC0237.JPG DSC0240.JPG

$ zznomefoto -n *.JPG 
DSC0211.JPG -> DSC001.JPG
DSC0223.JPG -> DSC002.JPG
DSC0226.JPG -> DSC003.JPG
DSC0237.JPG -> DSC004.JPG
DSC0240.JPG -> DSC005.JPG

$ zznomefoto -n -i 50 *.JPG
DSC0211.JPG -> DSC050.JPG
DSC0223.JPG -> DSC051.JPG
DSC0226.JPG -> DSC052.JPG
DSC0237.JPG -> DSC053.JPG
DSC0240.JPG -> DSC054.JPG

$ zznomefoto -n -i 50 -d 8 *.JPG
DSC0211.JPG -> DSC00000050.JPG
DSC0223.JPG -> DSC00000051.JPG
DSC0226.JPG -> DSC00000052.JPG
DSC0237.JPG -> DSC00000053.JPG
DSC0240.JPG -> DSC00000054.JPG

$ zznomefoto -n -i 50 -d 8 -p festa- *.JPG
DSC0211.JPG -> festa-00000050.JPG
DSC0223.JPG -> festa-00000051.JPG
DSC0226.JPG -> festa-00000052.JPG
DSC0237.JPG -> festa-00000053.JPG
DSC0240.JPG -> festa-00000054.JPG


código da função pra quem não quiser baixar o pacote todo:


$ type zznomefoto
zznomefoto is a function
zznomefoto () 
{ 
    zzzz -z $1 zznomefoto && return;
    [ "$1" ] || { 
        echo "uso: zznomefoto [-n] [-i N] [-d N] [-p TXT] fotos.jpg";
        return
    };
    local arq cont ext nao=0 i=1 dig=3 pref='' nome='';
    while [ "${1#-}" != "$1" ]; do
        case "$1" in 
            -p)
                pref="$2";
                shift 2
            ;;
            -i)
                i=$2;
                shift 2
            ;;
            -d)
                dig=$2;
                shift 2
            ;;
            -n)
                nao=1;
                shift
            ;;
            *)
                break
            ;;
        esac;
    done;
    for arq in "$@";
    do
        cont=$(printf "%0${dig}d" $i);
        ext=".${arq##*.}";
        nome=$pref;
        [ "$nome" ] || nome=$(echo ${arq%.*} | sed 's/[0-9]\+$//');
        novo="$nome$cont$ext";
        echo "$arq -> $novo";
        i=$((i+1));
        [ "$nao" != 1 ] && mv "$arq" "$novo";
    done
}


=====
-- 
Aurelio Marinho Jargas, Curitiba, Conectiva
Funcoes ZZ, versao nova http://aurelio.net/zz

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


reply via email to

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