[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Descompactar arquivos pelo Nautilus
From: |
Alysson Gonçalves de Azevedo |
Subject: |
Descompactar arquivos pelo Nautilus |
Date: |
Sun, 15 Jan 2012 02:33:03 -0200 |
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]
- Descompactar arquivos pelo Nautilus,
Alysson Gonçalves de Azevedo <=
- Re: [shell-script] Descompactar arquivos pelo Nautilus, Julio C. Neves, 2012/01/15
- Re: [shell-script] Descompactar arquivos pelo Nautilus, Alysson Gonçalves de Azevedo, 2012/01/15
- Re: [shell-script] Descompactar arquivos pelo Nautilus, Alysson Gonçalves de Azevedo, 2012/01/15
- Re: [shell-script] Descompactar arquivos pelo Nautilus, Fernando Mercês, 2012/01/18
- Re: [shell-script] Descompactar arquivos pelo Nautilus, Alysson Gonçalves de Azevedo, 2012/01/18
- Re: [shell-script] Descompactar arquivos pelo Nautilus, Fernando Mercês, 2012/01/18
- Re: [shell-script] Descompactar arquivos pelo Nautilus, Alysson Gonçalves de Azevedo, 2012/01/18
- Re: [shell-script] Descompactar arquivos pelo Nautilus, Tiago Peczenyj, 2012/01/18
- Re: [shell-script] Descompactar arquivos pelo Nautilus, Fernando Mercês, 2012/01/18
- Re: [shell-script] Descompactar arquivos pelo Nautilus, Alysson Gonçalves de Azevedo, 2012/01/19