Extrair arquivos pelo Nautilus com 7z e Yad

Publicado por Alysson (última atualização em 17/01/2012)

[ Hits: 4.892 ]

Download yxtractor.sh




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.

  



Esconder código-fonte

#!/bin/bash
# yXtractor - Extrair arquivos pelo Nautilus com 7z e Yad
# Extrai o conteúdo do arquivo no diretório corrente
#
# Autor: Alysson Gonçalves de Azevedo
#
# 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.

IFS="
"

#NAUTILUS_SCRIPT_SELECTED_FILE_PATHS é a lista de todos os arquivos selecionados, por isso é necessário tratar eles com um "for"
for SELECTED in ${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS}; do
    #Muda o diretório corrente para o diretório passado por parâmetro e então extrai os arquivos la
    [ -d ${SELECTED} ] && cd ${SELECTED} || cd "`dirname "${SELECTED}"`"
    
    #Extensões suportadas pelo 7z
    EXT="zip|rar|7z|7z\.001|tar|gz|bz2|tar.gz|tar.bz2|lzma" #String formatada para regex
    #Lista os arquivos a serem descompactados, se for um arquivo, retorna ele mesmo, se for uma pasta, retorna os arquivos dentro dela
    FILES=`ls ${SELECTED} | grep -E "\.(${EXT})$" | grep -Ev "\.part([1-9][[:digit:]]|[[:digit:]]*(0|[2-9]))\.rar$"`
    #O segundo grep exclui arquivos.partN.rar, onde N não seja 1,01,001 e etc.
    
    #Extrai cada arquivo da lista
    for NOME in ${FILES}; do
        echo "#${NOME##/*/}" #Mostra o nome do arquivo na barra de progresso do yad 
        7z x -y "${NOME}"
    done
done | \
yad --title="yXtractor" --text="Extraindo arquivos..." --progress --pulsate --no-buttons --auto-close --width=300 #--undecorated 

Scripts recomendados

Programas windows em gerenciadores simples

Listas em shell

Removendo e-mails da fila do queue

Script para captura de campos de formulário com conversão URL encode.

ip - Imprimi ip externo na tela


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts