Pular para o conteúdo

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

Responder tópico
  • Denunciar
  • Indicar

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

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!

Responder tópico

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

Melhor resposta

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]

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

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

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder