Bem-vindo: Ter, 26 de Novembro 2024, 23:13 Pesquisa avançada

Duplicar arquivos com o mesmo conteúdo

Escreveu alguma aplicação ou script que quer partilhar? Ou conhece algo que quer partilhar? Sabe alguma linguagem de programação e quer partilhar esse conhecimento com um tutorial? Tem alguma dúvida em alguma linguagem? Então este é o sítio certo.

Duplicar arquivos com o mesmo conteúdo

Mensagempor cleverton » Seg, 16 de Setembro 2013, 23:22

Devido a necessidade de se fazer varias vezes as mesmas operações, de duplicar o mesmo arquivo com nomes diferentes, criei um script que automatiza este trabalho.
Em suma é rapido, e não consome mais do que 2 minutos, so precisa conhecer a disposiçao dos seus arquivos.

Ao procedimento
todo o processo foi feito utilizando o Ubuntu-13.04, e uma seção no terminal.
É necessário uma lista prévia dos nomes a serem utilizados.
O processo é feito por linhas de código no terminal, para isto abra o terminal (ctrl+alt+T).
É necessário ter em mente o caminho dos arquivos a serem duplicados.
Para isto navegaremos até o destino com o comando:
cd+'caminho da pasta onde está o arquivo'

Para facilitar a organização e nos ater a eventuais erros(nunca obtive, quase impossível), criaremos uma pasta e nela colocaremos o arquivo desejado.
mkdir zz

mv 'arquivo' zz

Porque zz? Simples, dificilmente você terá outra pasta com este nome, sendo assim ela sempre será listada no final de qualquer ordem, e facilmente digitamos o seu nome.
Com o comando until, vamos criar uma condição que nunca se cumprirá, para podermos criar um looping, e assim podermos duplicar indefinidamente o arquivo desejado.
Aqui criaremos uma condição que nunca se cumprirá, visto que a sintaxe do comando until é exatamente esta, until == até que
until x = y
do
read x
cp 'arquivo desejado' $x
done

Na linha:
cp 'arquivo desejado' x (opcionalmente pode ser acrescentada uma extensão: x.png x.txt)
O console acusará um erro, Comando não encontrado com referência ao nosso 'read x'. Não se preoculpe, agora é só colar daquela lista os nomes que serão utilizados, ou digita-los manualmente, e ver a mágica acontecer.
Importante, para parar a execução digite ctrl+c.
Dica: Chegando a certa altura, a sua tela do terminal ficara cheia, com os mesmos dizeres, para saber se ainda estão sendo duplicados os seus arquivos, apenas aperte espaço, quando não mais quiser ou quando acabar de duplicar digite ctrl+c

Conheça a sintexe
1º Navegamos até onde o arquivo está "alojado".
2º Por organização, criamos uma pasta: zz. Esta por sua vez, e facil encontrar.
3º Movemos o arquivo que queremos para esta pasta. Lembrando que o conteúdo é sempre o mesmo, só se altera o nome.
4º Criamos um looping com uma condição que não existe para o comando until x=y, é obrigátorio o comando do e done nas mesmas posições. O comando do == faz dará instruções para que o comando read, que é responsável por dar uma pausa, e ler as nossas referências digitadas, fazendo as copias com os devidos nomes.
A string $x é responsavel por chamar uma função. Lembra-se do read x? Mandamos o console ler==read e demos a ele a variavel x, para saber o que foi digitado e copiar com o nome 'x' foi passada a expressão cp 'arquivo' $x
5º Com o comando done==feito, ele interpretará seu script e fará o seu trabalho.
Obs. a string $ chamará uma referência dada por você.

Uso pessoal
Eu trabalho com vendas, e temos um site que contem por várias vezes quase os mesmos produtos, alterando-se apenas alguns 'sufixos'. Então eu utilizo este script para automatizar esta cópia/renomeação, sem me utilizar de um programa para isto.

Referências
Este script foi desenvolvido por mim, mas sem o conhecimento que obtive do Guia Foca GNU/Linux http://www.guiafoca.org provavelmente, não teria descoberto o comando until e provavelmente, não teria disponibilizado hoje este conhecimento.

Cleverton Fernandes Guimaraes
clevertonfernandesguimaraes@gmail.com

cleverton
 
Mensagens: 1
Registrado em: 16 Setembro, 2013
Localização: Pimenta Bueno, RO, Brasil.

Voltar para Scripts, programação e aplicações em desenvolvimento

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 23 visitantes

cron