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

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

Re: [shell-script] Descompactar arquivos pelo Nautilus


From: Alysson Gonçalves de Azevedo
Subject: Re: [shell-script] Descompactar arquivos pelo Nautilus
Date: Sun, 15 Jan 2012 13:29:38 -0200

Hehe, bem, o seu livro ta na lista pra eu comprar...
mas como comecei a fazer o script já era 2h da manhã, não tinha livraria
aberta...

mas enfim, por enquanto eu vou usar a versão simples e depois, quando tiver
tempo, eu descubro como usar o Yad.

Vlw o/.

Alysson Gonçalves de Azevedo
(11) 8491-7730



Em 15 de janeiro de 2012 12:22, Julio C. Neves <address@hidden>escreveu:

> Fala Alisson,
> tenho algumas observações acerca do seu script:
>
> A partir do Bash 4.0 vc tem o cmd coproc, para fazer thread. Dê preferência
> a usá-lo no seu script;
>
> Como vc não usa o IFS diferente de <ENTER>, não precsa salvá-lo nem
> restaurá-lo, pois será automaticamente restaurado ao final do sript;
>
> Eu trocaria:
>
> for SELECTED in `find ${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS} -type f
> -maxdepth 1 -regex
> ".*\(zip\|rar\|7z\|tar\|gz\|bz2\|tar.gz\|tar.bz2\|lzma\)$"`
>
> por:
>
> for SELECTED in `grep -E \.(zip|rar|7z|tar|gz|bz2|tar.gz|tar.bz2|lzma)$"`
>
> Por ser mais curto e mais rápido e rodar em qq plataforma.
>
> Amigo, nunca nessa lista ninguém me ouviu falar para comprar meu livro, já
> que publiquei outro na Internet.
>
> Agora publiquei um sobre interfaces gráficas, que abrange o dialog,
> kdialog, zenity e YAD. Escrevi esse livro pq precisei usar zenity e
> descobri que não existe documentação completa (nem no man) e tive de
> aprendê-lo pelo código. Essa característica é comum a todos.
>
> Não creio que exista literatura sobre esses 4 sws tão completa em nenhum
> idioma qto o Bombando o Shell (pelo menos em português e inglês não existe,
> só se estiver muito bem escrito).
>
> O YAD merece esse investimento. É uma revolução em todas as interfaces
> gráficas é o que se fez de mais significante desde o TK (que infelizmente
> não foi portado para o Shell, mas tenho ideia de fazê-lo em 2012).
>
> O Raimundo assistiu uma palestra minha (no CONSEGI em BSB) e gostou tanto
> do sw que escreveu o artigo sobre YAD que vc leu. O YAD é muito completo e
> está com uma evolução a jato. Quem gosta de shell não pode ignorá-lo.
>
> Abcs,
> Julio
> *Já foi lançado "Bombando o
> Shell<
> http://www.brasport.com.br/index.php?dispatch=products.view&product_id=666
> >
> ". *
> *Show **de interfaces gráficas sob Shell!*
> *
> *
>
>
>
> Em 15 de janeiro de 2012 02:33, Alysson Gonçalves de Azevedo <
> address@hidden> escreveu:
>
> > **
> >
> >
> > Salve pessoal (que fica até de madrugada brincando com shell)!
> >
> > Bem, outro dia eu mandei um email da lista, sobre problemas com
> codificação
> > nos nomes do arquivos e talz.
> > Acontece que eu percebi que eu só tenho aquele problema quando eu uso o
> > programa padrão do gnome, através da opção "Extrair aqui", no menu de
> > contexto do nautilus.
> > Quando eu descompacto esses mesmos arquivos pelo terminal, usando
> programas
> > como gzip, tar e 7z, eu não tenho esse problema.
> >
> > Com isso, decidi montar meu próprio script <http://pastebin.com/6rgRUgVL
> >,
> > nesse link, o programa já extrai os arquivos selecionados, ou se for uma
> > pasta, ele descompacta recursivamente, e etc.
> > Até aqui foi fácil.
> >
> > Agora, como descompactar muitos arquivos pode ser "demorado", eu pensei
> eu
> > colocar o yad no meio... (como eu não sei usar nem yad, nem zenity,
> resolvi
> > começar pelo primeiro).
> >
> > Seguindo esse exemplo<
> >
> http://www.vivaolinux.com.br/artigo/Yad-016-Eu-quero-sempre-mais-de-ti/?pagina=4
> > >,
> > eu gostaria que ao executar o script, uma tela de acompanhamento fosse
> > exibida, para o usuário saber se ainda está descompactando ou se já
> acabou.
> >
> > Segue minha versão adaptada:
> >
> > > # Para funcionar, salve este arquivo com um nome qualquer no diretório:
> > > # "~/.gnome2/nautilus-scripts/"
> > > # O nome que colocar no arquivo será Exibido no menu de contexto do
> > > Nautilus.
> > > #
> > > # Para utilizar, basta apenas selecionar os arquivos, clique com o
> botão
> > > direito,
> > > # opção Scripts, clicar na opção com o nome desse script.
> > >
> > > OLDIFS=${IFS}
> > > IFS="
> > > "
> > > dcompact(){
> > > #Muda o dir corrente para o dir passado por parametro e então extrai
> > > os arquivos la
> > > [ -d ${1} ] && cd ${1} || cd "`dirname "$1"`"
> > > #Lista os arquivos a serem descompactados
> > > FILES=`find $1 -maxdepth 1 -type f -regex
> > > ".*\(zip\|rar\|7z\|tar\|gz\|bz2\|tar.gz\|tar.bz2\|lzma\)$"`
> > > #Contador
> > > i=0
> > > for FNOME in ${FILES}
> > > do
> > > 7z x -y "${FNOME}" & PID=$!;
> > > QTD=$(ps aux | egrep "$PID.*" | wc -l)
> > > while [ ${QTD} -eq 1 ]
> > > do
> > > i=$((i+1))
> > > QTD=$(ps aux | egrep "$PID.*" | wc -l)
> > > sleep 0.25
> > > echo "$i"
> > > done
> > > done
> > > killall yad
> > > exit 0
> > > }
> > > dcompact ${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS} \
> > > | yad --multi-progress --title='Extrair aqui' --button='Cancelar':1
> > > --bar="Extraindo-os...":NORM 5
> > >
> > > IFS=${OLDIFS}
> > >
> >
> > Com esse script, a janelinha do Yad aparece e já some na sequencia (eu
> não
> > acredito que meu note seja tão rápido pra descompactar 4 arquivos de
> 200mb
> > cada em menos de 1s).
> >
> > O meu problema é: eu não achei uma documentação como usar o yad, e apenas
> > tentar adaptar não deu resultado.
> > Alguém ai consegue me dar alguma dica, por menor que seja?!
> >
> > Obrigado.
> >
> > Alysson Gonçalves de Azevedo
> > (11) 8491-7730
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
>
> [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
>
>
>


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



reply via email to

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