Extrair arquivos pelo Nautilus com 7z e Yad
Publicado por Alysson (última atualização em 17/01/2012)
[ Hits: 5.886 ]
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.
#!/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
Gerenciador Servidor de Arquivos
Ajustando resolução do monitor
Script Iptables para servidor DNS e SSH
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
O widget do Plasma 6 Área de Notificação
[Resolvido] Algo deu errado ao abrir seu perfil
Quando vocês pararam de testar distros? (14)
Problema com som no laptop (3)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









