Criar shell script [RESOLVIDO]

1. Criar shell script [RESOLVIDO]

Leonardo Mendes
leovcmendes

(usa CentOS)

Enviado em 25/06/2013 - 11:53h

Bom dia galera!

Alguem pode me dar uma força ai? Seguinte preciso criar um script que faça varrer um diretorio, e dentro desse diretorio exitem varios arquivos, preciso que ele busque dentro desses arquivos o numero 2013, depois preciso que ele mande os arquivos que contenha 2013 para outro diretorio tipo /home/minha_pasta.

o comando "grep -R 2013 ." faz isso, mostra os arquivos que tem 2013 dentro dele
so que preciso que eles sejem movidos para outro diretorio.

tentei fazer esse script mais nao deu certo:

#!/bin/bash

for file in ''grep -R 2013''
do
mv $file /home/minha_pasta.doc
done;

retorna esse erro :
mv: invalid option -- 'R'
Experimente "mv --help" para mais informações.

Desde ja agradeço!




  


2. MELHOR RESPOSTA

Fernando
phoemur

(usa Debian)

Enviado em 25/06/2013 - 11:59h

for file in $(grep -R 2013); do mv "$file" /home/minha_pasta; done


deve dar certo, mas cuidado onde você vai executar isso, se executar numa pasta errada pode mover o que você não quer e ferrar o sistema...
Por isso usar o find deve funcionar melhor

3. Re: Criar shell script [RESOLVIDO]

Leonardo Mendes
leovcmendes

(usa CentOS)

Enviado em 25/06/2013 - 12:08h

valeu, vou testar aq e coloco o resultado.

Obrigado!


4. Re: Criar shell script [RESOLVIDO]

Fernando
phoemur

(usa Debian)

Enviado em 25/06/2013 - 12:15h

Assim deu melhor (execute no diretótio raiz):


$ find /home/pasta -iname *.* -type f | while read FILE; do grep "2013" "$FILE" > /dev/null 2>&1; if [ "$?" -eq "0" ]; then mv "$FILE" /home/nova_pasta; fi; done





5. Re: Criar shell script [RESOLVIDO]

Leonardo Mendes
leovcmendes

(usa CentOS)

Enviado em 27/06/2013 - 10:25h

Obrigado pela ajuda.

usei a primeira opção e funcionou.
valeu!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts