pegar linha de um arquivo e usala em outro comando [RESOLVIDO]

1. pegar linha de um arquivo e usala em outro comando [RESOLVIDO]

Guilherme
guino_luis

(usa Ubuntu)

Enviado em 24/07/2009 - 14:05h

estou fazendo um script que faz uma busca com o find jogando num txt, e gostaria de pegar esse txt e apagar os arquivos que ele tem listado nele.
como faço isso?
vlw


  


2. Resposta

Leonardo Berbert Gomes
leoberbert

(usa Slackware)

Enviado em 24/07/2009 - 14:31h

Vamos la...
Me explica com exemplos o que vc quer fazer que vamos matar isso.

Atenciosamente,

[]'s leoberbert


3. Re: pegar linha de um arquivo e usala em outro comando [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 24/07/2009 - 14:40h

Simples! Tem várias maneiras, uma é essa:

# find / -iname texto | rm -rf

A outra é o q vc tá falando, mas acho mais complicado pq vc joga a saída em um txt pra depois vc utilizar esta pra usar outro comando:

# find / -iname texto > arquivo.txt
# cat arquivo.txt | rm -rf

Tem outras formas, q é colocar em variável, mas acho q não necessita, ficaria muito extenso...

Falow!


4. Resposta

Leonardo Berbert Gomes
leoberbert

(usa Slackware)

Enviado em 24/07/2009 - 14:51h

Renato,

Só para acrescentar, se forem muitos arquivos o interessante é usar o xargs.

# find / -iname texto | xargs rm -rf

# find / -iname texto > arquivo.txt
# cat arquivo.txt | xargs rm -rf

Abraço.


5. Re: pegar linha de um arquivo e usala em outro comando [RESOLVIDO]

Guilherme
guino_luis

(usa Ubuntu)

Enviado em 24/07/2009 - 14:53h

sabe pq quero pegar do arquivo, pq quero no scrip perguntar p usuario se ele gostaria mesmo de apagar o arquivo, meio que como segurança para nao apagar nada que nao deve.
nos casos que vc deu nao vai ajudar muito, teria outra maneira facilitando p oq eu quero?
vlw


6. Re: pegar linha de um arquivo e usala em outro comando [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 24/07/2009 - 15:00h

Ae vc teria msm é q fazer um script pro usuário, fazendo uma listagem do q foi encontrado, mandar apagar e perguntar "vc tem certeza?". Aconselho vc a ler mais sobre dialog e montar o seu script. Um site q pode t ajudar (e muito):

http://aurelio.net/dialog


7. Re: pegar linha de um arquivo e usala em outro comando [RESOLVIDO]

nelio
neliobjr

(usa Red Hat)

Enviado em 24/07/2009 - 15:01h

Faz um script com base assim:

#!/bin/sh

ls > /caminho/lista.txt

cat /caminho/lista.txt |while read linha; do
echo deseja apagar o arquivo $linha
read x # pode ser qualquer nome de variavel
if [ $x == "s" ] || [ $x == "S" ]; then
echo apagando $linha
#rm -rf $linha
fi
done





8. Re: pegar linha de um arquivo e usala em outro comando [RESOLVIDO]

Guilherme
guino_luis

(usa Ubuntu)

Enviado em 24/07/2009 - 15:45h

Cara, nesse exemplo que vc deu, ele ta passando direto no read, nao ta deixando o usuario digitar, sabe q pode ser?
vlw


9. Re: pegar linha de um arquivo e usala em outro comando [RESOLVIDO]

nelio
neliobjr

(usa Red Hat)

Enviado em 24/07/2009 - 16:32h

Erro meu.

altere a linha do read para esta:

read x < /dev/tty

#faltou a segunda parte, pois como já existe um read no while ele não reconhe de onde vem o "sinal" de entrado do segundo read.


10. Re: pegar linha de um arquivo e usala em outro comando [RESOLVIDO]

Guilherme
guino_luis

(usa Ubuntu)

Enviado em 24/07/2009 - 16:58h

Agora sim, vlw cara.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts