ShellScript - Pegar retorno do gs? [RESOLVIDO]

1. ShellScript - Pegar retorno do gs? [RESOLVIDO]

Robson Dantas
onjahyr

(usa Ubuntu)

Enviado em 26/04/2010 - 08:26h

Como faço para saber quantas páginas o gs (GhostScript) processou?

comando normal:

gs -SDEVICE=tiff32nc -r72x72 -sPAPERSIZE=letter -sOutputFile=/home/robson/robson_%02d.tif -dNOPAUSE -dBATCH rda.pdf

O retorno do gs acima é:

GPL Ghostscript 8.70 (2009-07-31)
Copyright (C) 2009 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 8.
Page 1
Page 2
Page 3
Page 4
Page 5
Page 6
Page 7
Page 8

Eu quero saber a quantidade de páginas foi processadas pelo gs. Neste exemplo acima, a quantidade foi 8 páginas e seria esse valor que o shellscript me retornasse, alguém pode me ajudar nisso? O comando será feito diretamente num terminal.

Grato pela ajuda


  


2. MELHOR RESPOSTA

Marcos Paulo Ferreira
Daemonio

(usa Slackware)

Enviado em 26/04/2010 - 12:33h

Beleza cara! Funciona assim: O sed irá ler todas as linhas mas não vai mostra-las na tela (opção -n). Quando chegarmos na útlima linha da saída do comando gs ($ = última linha), iremos aplicar o comando s/// e logo depois mostrar a string modificada (flag p).

Na parte do s///, o sed irá trocar os 5 primeiros caracteres por nada.

O que eu fiz foi:

s/^.....//

O indica '^' no início da linha. Os cinco pontos representam os 5 primeiros caracteres (Nesse caso, o "Page ") e a // significa trocar por nada (ou seja: apagar)

Eu poderia ter feito:

s/^Page //

Ou seja: Apagar "Page ", desse modo somente o número da página ficará na string.

Qualquer coisa é só postar. Recomendo você uma lida em alguns tutoriais sobre o sed. Ele é uma mão na roda para quem quer fazer um tratamento de textos eficiente.

t+

3. Re: ShellScript - Pegar retorno do gs? [RESOLVIDO]

Marcos Paulo Ferreira
Daemonio

(usa Slackware)

Enviado em 26/04/2010 - 10:58h

Com o sed:

cat saida.txt | sed -n '$s/^.....//p'

Juntando tudo:

gs -SDEVICE=tiff32nc -r72x72 -sPAPERSIZE=letter -sOutputFile=/home/robson/robson_%02d.tif -dNOPAUSE -dBATCH rda.pdf | sed -n '$s/^.....//p'



Espero ter ajudado.
t+


4. Re: ShellScript - Pegar retorno do gs? [RESOLVIDO]

Robson Dantas
onjahyr

(usa Ubuntu)

Enviado em 26/04/2010 - 11:51h

funcionou perfeito, mas você poderia me explicar em detalhes para eu aprender? É q não quero copiar e colar, quero entender para ajudar outras pessoas quando perguntarem.

grato


5. Re: ShellScript - Pegar retorno do gs? [RESOLVIDO]

Robson Dantas
onjahyr

(usa Ubuntu)

Enviado em 26/04/2010 - 16:37h

Valeu pessoal, grato pela ajuda.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts