Colorização automática - mas como fazer vários arquivos?

2

Eu instalei tudo para que Let There Be Color! funcione.

Este comando funciona bem:

th colorize.lua (file name).png (colored file name).png

MAS ... aqui está o meu problema, como faço para criar um script que possa colorir todas as imagens em uma pasta? Eu fiz a varredura de alguns filmes de 8 mm e muitas fotos antigas, então é impossível para fazer todos eles um por um.

Eu vi alguém que usou o mesmo plug-in no youtube . Mas não consigo fazer o script funcionar:

do echo "$file" th colorize.lua "$file" "${file%.jpg}.png"
    
por Color 20.09.2016 / 17:03

1 resposta

1

Aparentemente, você está perdendo a definição da sua variável $file ...

Como o uso de seu comando é simplesmente especificar o arquivo de entrada e um nome para o arquivo de saída, você pode usar (dentro do diretório onde tudo é um arquivo que você deseja "colorir"):

for file in * ; do echo th colorize.lua "$file" "${file/./-color.}" ; done

O echo é apenas para testes, para ver se os arquivos corretos estão sendo encontrados e o correto será feito com eles. Depois de ter feito isso com echo e verificado que os arquivos corretos foram encontrados e os nomes corretos foram gerados, faça isso sem eco para realmente alterar os arquivos:

for file in * ; do th colorize.lua "$file" "${file/./-color.}" ; done

Mas isso corresponderá a todos os arquivos no diretório e presumirá que todos eles têm um . , que será substituído por -color. (se houver mais de um ponto, o primeiro ponto será substituído) por exemplo:

old-pic1.png -> old-pic1-color.png
old-pic2.png -> old-pic2-color.png

em vez de usar * , que corresponde a todos arquivos, seria melhor usar os arquivos em parte do nome deles, o que é comum, como .png , então você poderia substituir * com *.png para encontrar apenas arquivos com essa finalização.

    
por Zanna 20.09.2016 / 18:55