script para ler e copiar arquivos [RESOLVIDO]

1. script para ler e copiar arquivos [RESOLVIDO]

LINER DE SOUZA SANTOS
linersantos

(usa Ubuntu)

Enviado em 06/03/2020 - 10:15h

Bom dia.
Preciso escrever um script que leia determinados arquivos de um diretorio e os copie em outra pasta. Por exemplo, a pasta PASTA tem os seguintes arquivos:
1.dat
2.dat
25.dat
39.dat
13.dat

e eu preciso copiar os arquivos 1.dat, 25.dat e 39.dat. Alguém sabe como fazer um script em bash que faça isso? Os nomes dos arquivos são numericos mesmo (não sei se isso torna o script mais simples).


  


2. MELHOR RESPOSTA

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 06/03/2020 - 18:08h

Testaí:
$ for arq in `cat /pasta/local/lista.dat` ; do cp /pasta/origem/${arq}.dat /pasta/destino ; done 



3. Re: script para ler e copiar arquivos

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 06/03/2020 - 10:50h

Não entendi, por que precisa ser um script?
Um simples comando "cp" não resolve?
$ cd /pasta/origem
$ cp -t /pasta/destino 1.dat 25.dat 39.dat


Ou o que você quer na verdade é um script/comando que procure por arquivos específicos em pastas diversas e quando encontrar copie para outra pasta? Explique melhor o que pretende fazer!!!!


4. Re: script para ler e copiar arquivos [RESOLVIDO]

LINER DE SOUZA SANTOS
linersantos

(usa Ubuntu)

Enviado em 06/03/2020 - 11:19h

Oi, na verdade eu me expressei mal. Achei que podia resumir o problema mas acho q nao deu certo rs.
Na verdade é o seguinte:
Eu tenho uma lista (lista.dat) com alguns valores. Ex.
0023
4580
0090
0235
...
e eu tenho uma pasta em outro lugar em que há varios arquivos, todos com nomes do tipo
0000.dat
0001.dat
...
O que eu preciso é verificar quais arquivos desta pasta tem um nome que coincida com os valores que eu tenho no arquivo lista.dat e copiar esses arquivos para outra pasta. Por exemplo, o script pegaria o arquivo 0023.dat e copiaria em outra pasta.




5. Re: script para ler e copiar arquivos

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 06/03/2020 - 22:19h

linersantos escreveu:

Oi, na verdade eu me expressei mal. Achei que podia resumir o problema mas acho q nao deu certo rs.
Na verdade é o seguinte:
Eu tenho uma lista (lista.dat) com alguns valores. Ex.
0023
4580
0090
0235
...
e eu tenho uma pasta em outro lugar em que há varios arquivos, todos com nomes do tipo
0000.dat
0001.dat
...
O que eu preciso é verificar quais arquivos desta pasta tem um nome que coincida com os valores que eu tenho no arquivo lista.dat e copiar esses arquivos para outra pasta. Por exemplo, o script pegaria o arquivo 0023.dat e copiaria em outra pasta.

Boa noite.
Se cada linha de lista.dat, tem um arquivo correspondente, use o comando:
awk '{cmd="cp Pasta_Origem "$0".dat Pasta_Destino/"$0".dat";system(cmd)}' lista.dat 

Senão, recomendo ler linha a linha de lista.dat,
procurar pelo arquivo, e, caso exista (obvio),
faz a cópia.
Exemplo:
while read line;do
if ls -1 Pasta_Origem/${line}.dat &>/dev/null;then
cp Pasta_Origem/${line}.dat Pasta_Destino/${line}.dat
fi
done<lista.dat

______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


6. Re: script para ler e copiar arquivos [RESOLVIDO]

LINER DE SOUZA SANTOS
linersantos

(usa Ubuntu)

Enviado em 06/03/2020 - 23:02h

[quote]Ryuk escreveu:

Testaí:
for arq in `cat /pasta/local/lista.dat` ; do cp /pasta/origem/${arq}.dat /pasta/destino ; done

Valeu camarada! Só tive que tirar o $ no início da linha de comando e funcionou :)




7. Re: script para ler e copiar arquivos [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 07/03/2020 - 00:25h


linersantos escreveu:

Valeu camarada! Só tive que tirar o $ no início da linha de comando e funcionou :)



então jovem .... o $ no começo da linha significa que o comando é executado como usuário padrão, e se tiver um # significa que deve ser executado como root ...

Abçs.


------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




8. Re: script para ler e copiar arquivos

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 07/03/2020 - 10:21h

linersantos escreveu:

Ryuk escreveu:

Testaí:
for arq in `cat /pasta/local/lista.dat` ; do cp /pasta/origem/${arq}.dat /pasta/destino ; done


Valeu camarada! Só tive que tirar o $ no início da linha de comando e funcionou :)



Não deixe de marcar o tópico como [RESOLVIDO] e escolher a [MELHOR RESPOSTA].
Isto ajuda outros com a mesma dúvida e incentiva quem ajuda!







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts