Ajuda! Criação de script

1. Ajuda! Criação de script

Roberto Araujo
roberto321

(usa Outra)

Enviado em 16/05/2012 - 15:37h

Preciso desenvolver um script que procure em um determinado diretório e seus subdiretórios
por arquivos de uma determinada extensão e de um tamanho mínimo. O script
deverá receber exatamente 3 argumentos:

- Extensão a ser procurada, através da opção "-e";
- Tamanho mínimo em megabytes, através da opção "-l";
- Path do diretório a ser procurado.

Quanto às opções "-e" e "-l" não é necessário que elas devam aparecer em
qualquer posição, vamos considerar que elas deverão aparecer nesta ordem.

Ex: ./script2.sh -e iso -l 50 /home/roberto

O script irá procurar no diretório /home/roberto e seus sub-diretórios, incluindo
os sub-diretórios ocultos, por arquivos que tenham extensão "iso" e tamanho maior ou
igual a 50 MB e exibir todos eles na tela.

O script deverá ainda fazer checagem dos parâmetros, quanto à quantidade
de parâmetros passados, e ao conteúdo do parâmetro passado com a opção "-l" (se é um
número), e exibir mensagem em caso de erro. Se o script for chamado sem parâmetro
algum, deverá emitir uma mensagem de ajuda de como o script deverá ser chamado.
Também existe a necessidade de fazer checagem de permissão de leitura para o path do
diretório. Não posso usar "." na informação da extensão do arquivo: por
exemplo, tenho que usar "iso", e jamais ".iso", junto com a opção "-e".

Obrigado!

- Roberto Araujo


  


2. Re: Ajuda! Criação de script

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 16/05/2012 - 16:19h

Olá colega, vc já começou a fazer o script? Tente ao menos iniciar o script, pois assim vc tb aprende! :-)
A forma que vejo é usar o while com a opção getops.



3. Re: Ajuda! Criação de script

Roberto Araujo
roberto321

(usa Outra)

Enviado em 16/05/2012 - 17:41h

Obrigado pela ajuda!
Vou esboçar algo e posto aqui!
Qlqr ajuda ou exemplo, agradeço!

- Roberto


4. Re: Ajuda! Criação de script

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 17/05/2012 - 06:49h

roberto321 escreveu:

Preciso desenvolver um script que procure em um determinado diretório e seus subdiretórios
por arquivos de uma determinada extensão e de um tamanho mínimo. O script
deverá receber exatamente 3 argumentos:

- Extensão a ser procurada, através da opção "-e";
- Tamanho mínimo em megabytes, através da opção "-l";
- Path do diretório a ser procurado.

Quanto às opções "-e" e "-l" não é necessário que elas devam aparecer em
qualquer posição, vamos considerar que elas deverão aparecer nesta ordem.

Ex: ./script2.sh -e iso -l 50 /home/roberto

O script irá procurar no diretório /home/roberto e seus sub-diretórios, incluindo
os sub-diretórios ocultos, por arquivos que tenham extensão "iso" e tamanho maior ou
igual a 50 MB e exibir todos eles na tela.

O script deverá ainda fazer checagem dos parâmetros, quanto à quantidade
de parâmetros passados, e ao conteúdo do parâmetro passado com a opção "-l" (se é um
número), e exibir mensagem em caso de erro. Se o script for chamado sem parâmetro
algum, deverá emitir uma mensagem de ajuda de como o script deverá ser chamado.
Também existe a necessidade de fazer checagem de permissão de leitura para o path do
diretório. Não posso usar "." na informação da extensão do arquivo: por
exemplo, tenho que usar "iso", e jamais ".iso", junto com a opção "-e".

Obrigado!

- Roberto Araujo


Seu enunciado está bom. Acho que basicamente seu script vai precisar dos comandos find , sed e tr

Monte um esqueleto básico com as etapas e procure dividir em funções. Veja um exemplo básico.

http://www.vivaolinux.com.br/topico/Shell-Script/Gerar-arquivo-faltastxt-de-quem-nao-existe-no-arqui...

Procure dividir cada etapa no menor tamanho possível para manter o controle total dentro do script. Se tiver componentes visuais, procure separa-lo ao máximo também.




5. me ajude

Alexandre Lopes
alexandre_linux

(usa Outra)

Enviado em 11/12/2012 - 01:33h

Boa noit...tbm estou com o mesmo problema
preciso criar um script identico a esse urgente, mas nao estou conseguindo...
peço a vcs q me ajudem, ja ta me dando desespero, pq ja testei mtos comandos
mas nenhum deu certo.
Se puderem me ajudar fico grato....


6. Re: Ajuda! Criação de script

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 11/12/2012 - 11:18h

Abra um novo tópico com sua dúvida e poste o q vc ja fez para o ajudarmos


7. Re: Ajuda! Criação de script

Paulo
paulo1205

(usa Ubuntu)

Enviado em 11/12/2012 - 12:46h

Pois é. O espírito não é fazer trabalho para os outros, mas tirar dúvidas de quem pelo menos encaminhou o trabalho.


8. Re: Ajuda! Criação de script

Alexandre Lopes
alexandre_linux

(usa Outra)

Enviado em 12/12/2012 - 00:39h

nao to querendo q vcs façam o trabalho pra mim....
e sim me ajudem, pq to perdido nele...
ja tentei alguns comandos, mas nada deu certo.



9. Re: Ajuda! Criação de script

Alexandre Lopes
alexandre_linux

(usa Outra)

Enviado em 12/12/2012 - 00:55h

To meio perdido....
separei ele pra ve se ficava melhor pra faze:

O comando abaixo vai pesquisar dentro do diretório /root/teste todos arquivos maiores que 1000kb e depois listá-los.

Usei esse comando no script recebendo o valor de uma varialvel no logar do /root.....
mas nao deu certo.

find /root/teste/ -size "+1000k" -exec ls -lah {} \;



# 1 passo= checar a qtd de parametros
# 2 passo = checar se o parametro –s é numero;
# 3 passo = HELP = emitir ajuda para o usuário.
#4 passo = Saber se usuário tem permissão de leitura;
# 5 passo = fazer a pesquisa e listar
# 6 passo = listar em ordem crescente.


para a checagem de parametro usei esses comandos...

echo Foram digitados $# parâmetros. São eles: $*.
echo O primeiro parâmetro foi: $1
echo O nome do script é: $0



mas apenas me veio como resposta o nome do script.

Resumindo to andando, andando mas nao to saindo do lugar...
se alguem puder da uma dica ae...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts