
Eu tenho uma lista de arquivos JPG, cada um localizado em pastas diferentes no meu servidor somente de linha de comando, que preciso converter para PNG.
Eu conheço o comando simples para convertê-los um por um usando o mogrify. Mas tenho cerca de 300 imagens de nomes diferentes espalhadas por todas as pastas, assim:
/home/user/dfp/app/roundtable/wp-content/uploads/2022/06/play.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2021/02/turn.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2020/01/up.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2022/09/down.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2021/01/left.jpg
etc etc
Também existem milhares de outras imagens em cada um dos diretórios, que não quero que sejam alteradas. Apenas os arquivos específicos da minha lista.
Existe um relógio fácil para converter em lote/em massa a lista de imagens que tenho? Eu literalmente tenho uma lista de imagens, como no exemplo acima, em um arquivo .txt.
Responder1
Você pode usar um loop de shell simples para ler e processar os nomes de arquivos do arquivo de lista. Em um bash
shell, por exemplo:
while IFS= read -r file; do
# your mogrify command on "$file"
done < path/to/listfile.txt
Você pode executá-lo na linha de comando interativa do bash ou como um script com o #!/bin/bash
shebang no topo.