copie em dados de gravação, menos redundantes

2

Eu tenho uma pasta contendo muitas fotos e um programa para atualizar algumas das imagens.

Eu quero criar uma nova pasta com a cópia da imagem antiga e executar o programa nelas, mas quero economizar espaço no meu disco rígido, por isso não quero ter uma cópia de todas as imagens inalteradas.

    
por ArvoX 18.01.2011 / 13:34

2 respostas

2

O programa simplesmente escreve sobre a imagem modificada ou cria um novo arquivo e remove o antigo? Se este último, você pode fazer o seu diretório de trabalho com cp -dRl origdir workdir , que irá criar links físicos em vez de novas cópias. (Ou cp -dRs se você preferir usar links simbólicos em vez de hard links.)

    
por 09.03.2011 / 06:23
0

Eu usaria /tmp e faria um script de shell para copiar cada imagem lá e processá-la. Se a imagem for processada com sucesso, mova-a para outro local, caso contrário, exclua-a. Faça isso uma foto de cada vez.

por exemplo,

#!/bin/bash

for f in *
do
     cp "$f" /tmp
     /path/to/yourprogram "/tmp/$f"
     # check if picture was processed correctly, possibly via exit code ($?)
     if [ $? -eq 0 ]
     then
           mv "/tmp/$f" /some/other/location
     else
           rm "/tmp/$f"
     fi
done

Muitas maneiras de esfolar um gato são modificadas de acordo com suas necessidades.

    
por 18.01.2011 / 14:17

Tags