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