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...