Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

dario1133

shell script em linux

Mensagens Recomendadas

dario1133    0
dario1133

boa noite

como fazer um script para mostrar todos os ficheiros que existem numa pasta "pasta1" mas os ficheiros tem de ser do tipo ".txt" e tem de apresentar um numero no seu nome.. ex: ficheiro1.txt.....

alguma dica???

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
IceBrain    1
IceBrain

#!/bin/bash
ls "$1" | grep -e ".*[0-9].*\.txt"

Gravas como um ficheiro qualquer (p.e: listn) e depois é só fazer:

./listn nome_da_pasta

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
dario1133    0
dario1133

o codigo nao ta a funcionar.. tipo se eu tiver a pasta /etc/ que contem varios ficheiros, eu quero que me apresente apenas os .txt e que contenham um numero no nome.. como faço??

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
dario1133    0
dario1133

nao sei se etendi.

será que fica assim...

#!/bin/bash

/home/desktop/documentos/etc ; ir até pasta etc

ls "$1" | grep -e ".*[0-9].*\.txt" ; procurar e mostrar todos os ficheiros do tipo txt com nº no seu nome

depois gravo este script (script.sh) e executo (. script.sh)

será que funciona?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
IceBrain    1
IceBrain

Não, é suposto gravar no script o que te dei no meu primeiro post:

#!/bin/bash
ls "$1" | grep -e ".*[0-9].*\.txt"

E depois quando executas o script, passas-lhe a pasta:

./script.sh  /etc

Assim o mesmo script funciona para qualquer pasta que lhe passes.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
dario1133    0
dario1133

na parte final ainda me faz confusão.

se eu guardar o script.sh no Desktop, e a minha pasta etc por exemplo ta nos meus documentos, ao executar o script faço:

./script.sh  /etc

ou

./script.sh  /Dektop/documentos/etc

no exemplo de cima tando eu no desktop ele consegue aceder a outras pasta se nao as que tao também no Desktop?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
IceBrain    1
IceBrain

Sim, ele consegue aceder a qualquer pasta, mas se a pasta está numa pasta do Desktop, tens que a indicar:

./script.sh /home/dario/Desktop/documentos/etc

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

na parte final ainda me faz confusão.

se eu guardar o script.sh no Desktop, e a minha pasta etc por exemplo ta nos meus documentos, ao executar o script faço:

./script.sh  /etc

ou

./script.sh  /Dektop/documentos/etc

no exemplo de cima tando eu no desktop ele consegue aceder a outras pasta se nao as que tao também no Desktop?

Se estiveres na pasta /home/dario/Desktop e o script estiver lá, podes escrever apenas

./script.sh /etc

se estiveres na pasta /etc terás que especificar a path do script

/home/dario/Desktop/script.sh /etc

Uma forma de contornares isso é colocares o script numa pasta que esteja na variável de ambiente $PATH.

Eu tenho uma pasta para scripts dentro da minha pasta de utilizador, depois no meu ficheiro .bashrc tenho isto no fim:

PATH=~/myscripts:$PATH

a partir daí para correr o script, basta escrever

script.sh /etc

e funcionará, estando tu na pasta que estiveres

EDIT:

icebrain, penso que ele se está a referir à pasta do sistema /etc e não a /home/dario/Desktop/documentos/etc

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
dario1133    0
dario1133

eu tou na pasta /home/ubuntu/Desktop, e é aqui que tenho o meu script de nome 1.sh, o script é:

#!/bin/bash

ls "$1" | grep -e ".*[0-9].*\.txt"

quero aceder à pasta /etc que se encontra algures no sistema, se executar:

. 1.sh  /etc

assim consigo executar bem o meu programa??

eu ja experimentei assim e nao deu...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Baderous    31
Baderous

A pasta etc é uma pasta que está debaixo da root (/), por isso a menos que tenhas lá criado as subpastas /home/ubuntu/Desktop, isso não vai funcionar.

Dá algum erro quando tentas executar como te dissemos?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade