Excluindo todas as pastas menos algumas de um diretório [RESOLVIDO]

1. Excluindo todas as pastas menos algumas de um diretório [RESOLVIDO]

Iago Lira
iagolira

(usa Debian)

Enviado em 16/12/2014 - 22:45h

Olá pessoal, tenho um diretório que contém as seguintes pastas: zgnr-1cc1, zgnr-2cc1, zgnr-3cc1, zgnr-4cc1, zgnr-5cc1, zgnr-6cc1, ..., zgnr-ncc1. Quero construir um script que remova somente as pastas que sucedem a pasta zgnr-6cc1 e antecedem zgnr-10cc1.
Depois disso queria construir um script que remova somente as ímpares (zgnr-1cc1, zgnr-3cc1, zgnr-5cc1,...). Então construir um outro script que remova somente as pares (zgnr-2cc1, zgnr-4cc1, zgnr-6cc1,..).
Lembrando que o script deve conter um verificador para saber se as pastas existem. Onde o usuário deve
informar os intervalos no terminal, ou seja, pedir ao usuário a opção de exclusão.

Quem poder me ajudar a criar esse script ficarei muito grato!


  


2. MELHOR RESPOSTA

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 17/12/2014 - 07:52h

passosfil escreveu:

Olá pessoal, tenho um diretório que contém as seguintes pastas: zgnr-1cc1, zgnr-2cc1, zgnr-3cc1, zgnr-4cc1, zgnr-5cc1, zgnr-6cc1, ..., zgnr-ncc1. Quero construir um script que remova somente as pastas que sucedem a pasta zgnr-6cc1 e antecedem zgnr-10cc1.


Gere um novo arquivo texto ordenado e salve ele em um temporário.


Depois disso queria construir um script que remova somente as ímpares (zgnr-1cc1, zgnr-3cc1, zgnr-5cc1,...).


Faça uma adaptação deste script. by mestre rai3mb.
http://www.vivaolinux.com.br/script/Numeros-impares-no-intervalo-entre-2-numeros


Então construir um outro script que remova somente as pares (zgnr-2cc1, zgnr-4cc1, zgnr-6cc1,..).


Se adaptar legal o script do rai3mb poderá adicionar um parâmetro para receber par ou impar.


Lembrando que o script deve conter um verificador para saber se as pastas existem.


Crie uma função de verificação. Embora se gerar o arquivo texto com base em arquivos existentes...
Mas alguém pode ter apagado ou renomeado, então faz sentido sempre verificar se existe.


Onde o usuário deve
informar os intervalos no terminal, ou seja, pedir ao usuário a opção de exclusão.


Passe as regras de uso via parâmetro.


Quem poder me ajudar a criar esse script ficarei muito grato!


Vamos fazer juntos ?
Pontapé inicial...


Dúvidas.

- Em que momento o user vai dizer que arquivos ele quer ?
- Vai listar todos arquivos e mostrar para ele ?
- Vai salvar em algum local o que o user fez ?
- Vai ter mascara para o user pesquisar o prefixo de arquivos ?
- Será em um único script ou poderá ter vários ?

Exemplos de possibilidades...


#!/bin/bash


# Pode entrar no script via parâmetro ou vc pode definir aqui.
# Você vai escolher o que acha melhor.
Arq_temp="qualquernome.txt"

# Recebe valor e retorna verdadeiro ou falso.
# Apenas uma forma, existem várias...
function _ret_par_impar()
{
local lc_valor="$1"
local lc_tipo="$2"
# $1 = deve receber um valor.
# $2 = P ou I (par ou impar)
# Deve retornar 0 ou 1 de acordo com o solicitado em $2

}

# Recebe um arquivo como parâmetro
# Retorna 0 verdadeiro ou 1 falso.
function _apaga_arq()
{
local lc_arq="$1"
# Vai testar se arquivo existe.
# Se existe, apaga arquivo e retorna 0
# Se não existe, retorna 1
}


# Monta arquivo temporário com coleta de arquivos.
# Recebe o prefixo a pesquisar.
# Recebe o sufixo a pesquisar.
# Salva conteúdo em $3
# Lembrando que a var em $3 deverá ser pública.
function _monta_temp()
{
local lc_prefixo="$1"
local lc_sufixo="$2"
local lc_nome_temp="$3"
# Vai rodar um find ou for
# gerando os nome de arquivos.
# filtrar endereço completo de arquivos e nomes.
# Podem estar em mais de um diretório ?
# Arquivo de saída deve conter diretórios e nomes.
# Estude sobre o comando basename
# Se não gerar nenhum arquivo, deve retornar 1
# ou 0 para sucesso.
# Se
}

function _menu_de_escolha()
{
# Que escolhas de menu o user poderá ter ?
# Vai ter um segundo tipo de menu ?
:
}

# Outras funções abaixo....


###########################################################
#: Aqui seu script vai começar a passar comandos...
###########################################################

# Se vai ter parâmetros no menu de escolha informar...
_menu_de_escolha

exit 0



Breve esqueleto apenas...
Toca o p..a...u... e vou ajudando no que der...

3. Re: Excluindo todas as pastas menos algumas de um diretório [RESOLVIDO]

Iago Lira
iagolira

(usa Debian)

Enviado em 18/12/2014 - 12:09h

Muito obrigado vou fazendo os teste aqui... quando surgi dúvidas levanto um novo tópico!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts