[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] libreoffice odp para jpg ( solução)
From: |
Jorge Barros de Abreu |
Subject: |
Re: [shell-script] libreoffice odp para jpg ( solução) |
Date: |
Mon, 20 Feb 2012 21:03:30 -0200 |
User-agent: |
KMail/1.13.6 (Linux/2.6.37.6; KDE/4.5.5; x86_64; ; ) |
On Monday 20 February 2012 13:19:55 you wrote:
> Jorge, não sei se entendi legal, mas pelo que entendi, seu script só
> funcionaria se a apresentação tivesse entre 10 e 99 slides.
> Veja só como eu faria:
Oi Júlio
Obrigado por mais uma preciosa pérola:$Nom-$(printf "%0$Mai"d $Num)
Acrescentei uns comentários e engordei um pouco o script
?As varáveis usadas no script são automaticamente canceladas/limpas e os
recursos de memória são
automaticamente liberados ou tenho que liberar os recursos explicitamente com o
comando unset?
##############################
#!/bin/bash
# $1 nome da apresentacao a ser convertida com a extensão pdf explicitada
#obtida a partir o libreoffice impress
NOME=`echo $1 | cut -d '.' -f 1` #parte do nome antes do ponto
EXTENSAO=`echo $1 | cut -d '.' -f 2` #extensao do nome
if [[ "$EXTENSAO" != "PDF" ]] && [[ "$EXTENSAO" != "pdf" ]]
then
echo -e "\nA extensao tem que ser ou pdf ou PDF"
exit
fi
unset EXTENSAO
convert "$1" "$NOME".jpg
# cut isola os números e wc -L pega o maior tamanho
Mai=$(ls $NOME-[0-9]*.jpg | cut -f2 -d- | cut -f1 -d. | wc -L)
for Arq in $(ls $NOME-[0-9]*.jpg)
{
#IFS='-.' define dois separadores de campo
#read Nom Num Ext <<< "$Arq" lê os valores a partir do valor de Arq
IFS='-.' read Nom Num Ext <<< "$Arq"
Num1=`echo $Num | wc -L` #guarda o tamanho do numero contido em Arq
if [[ "$Num1" < "$Mai" ]] #ver nota abaixo
then
mv $Arq $Nom-$(printf "%0$Mai"d $Num).jpg
fi
}
##############################
nota: if [[ "$Num1" < "$Mai" ]] renomeia somente se a quantidade de caracteres
do número armazenado
em Arq for menor
>
> convert "$1" $Nome.jpg
>
> # cut isola os números e wc -L pega o maior tamanho
> Mai=$(ls *-[0-9]*.jpg | cut -f2 -d- | cut -f1 -d. | wc -L)
>
> for Arq in $(ls *-[0-9]*.jpg)
> {
> IFS='-.' read Nom Num Ext <<< "$Arq"
> mv $Arq $Nom-$(printf "%0$Mai"d $Num).jpg
> }
>
> Dentro do for eu mudei o IFS temporariamente (repare que não tem ponto e
> vírgula entre a atribuição e o cmd read. Por isso esse IFS só vale para o
> read) para não necessitar de um monte de cut. O último parâmetro ($Ext) é
> desnecessário pois todos serão, obrigatoriamente jpg.
> No mv usei o printf para colocar zeros à esquerda. Supondo que $Mai fosse
> 3, e $Num fosse 7, o printf formado seria:
> printf "%03"d 5
> que produziria 005.
>
> Abcs,
> Julio
> *Já foi lançado "Bombando o
> Shell<http://www.brasport.com.br/index.php?dispatch=products.view&product_i
> d=666> ". *
> *Show **de interfaces gráficas sob Shell!*
> *
> *
>
>
>
> Em 20 de fevereiro de 2012 10:56, Jorge Barros de Abreu <
>
> address@hidden> escreveu:
> > **
> >
> >
> > Olá.
> >
> > Durante muito tempo e por questões de compatibilidade tentei exportar
> > apresentações odp para o
> > formato jpg. Nativamente o libreoffice/broffice/openoffice faz uma
> > conversão de slide por vez.
> >
> > Para fazer a conversão da apresentação toda de uma tacada só você deve
> > primeiramente exportar para
> > pdf e a seguir usar o comando convert
> >
> > convert apresentacao.pdf apresentacao.jpg
> >
> > Será gerado um jpg para cada slide.
> >
> > a numeração dos arquivos gerados precisa ser ajustada caso contrário será
> > mostrada na sequência
> > incorreta. O 10 será mostrado ao lado do 100 por exemplo. a numeração do
> > slide 10 deve ser mudada
> > para 010.
> >
> > Criei um script(tstado no slackware) para fazer a mudança nos nomes de
> > uma só vez:
> >
> > #!/bin/bash
> > #nome da apresentacao a ser convertida com a extensão PDF/pdf explicitada
> > NOME=`echo $1 | cut -d '.' -f 1` #parte do nome antes do ponto
> > EXTENSAO=`echo $1 | cut -d '.' -f 2` #extensao do nome
> > if [[ "$EXTENSAO" != "PDF" ]] && [[ "$EXTENSAO" != "pdf" ]]
> > then
> > echo -e "\nA extensao tem que ser ou pdf ou PDF"
> > exit
> > fi
> > unset EXTENSAO
> > convert $1 $NOME.jpg
> > MEIO="0"
> > for (( i=0 ; i<10 ; i++ ))
> > do
> > mv $NOME"-"$i".jpg" $NOME"-"$MEIO$i".jpg"
> > done
> > unset NOME MEIO
> >
> > Até.
> >
> > --
> > Data Estelar 2455976,000764
> > http://sites.google.com/site/ficmatinf
> > Desejo-lhe Paz, Vida Longa e Prosperidade.
> > São Bem Vindas Mensagens no Formato texto UTF-8 com Acentos.
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio aviso.
> --------------------------------------------------------------------- Sair
> da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
--
Data Estelar 2455976,425324
http://sites.google.com/site/ficmatinf
Desejo-lhe Paz, Vida Longa e Prosperidade.
São Bem Vindas Mensagens no Formato texto UTF-8 com Acentos.
- libreoffice odp para jpg (solução), Jorge Barros de Abreu, 2012/02/20
- Re: [shell-script] libreoffice odp para jpg (solução), Julio C. Neves, 2012/02/20
- Re: [shell-script] libreoffice odp para jpg ( solução),
Jorge Barros de Abreu <=
- Re: [shell-script] libreoffice odp para jpg ( solução), Julio C. Neves, 2012/02/21
- Re: [shell-script] libreoffice odp para jpg ( solução-final), Jorge Barros de Abreu, 2012/02/21
- Re: [shell-script] libreoffice odp para jpg ( solução-final), Alysson Gonçalves de Azevedo, 2012/02/21
- Re: [shell-script] libreoffice odp para jpg ( solução-final), Julio C. Neves, 2012/02/21
- Re: [shell-script] libreoffice odp para jpg ( solução-final), Alysson Gonçalves de Azevedo, 2012/02/21
- Re: [shell-script] libreoffice odp para jpg ( solução-final), Julio C. Neves, 2012/02/21