Operando em arquivos de entrada curinga e salvando a saída como entrada + sufixo

1

Eu quero processar em lote a minha lista de arquivos de entrada curinga e, em seguida, a saída para o nome do arquivo de entrada com um sufixo anexado. Espero entender este caso geral.

Em particular, estou correndo

    convert *.jpg -resize 800x600 ... *-resized.jpeg

No Fedora21, o ImageMagick 6.6.8 é legal, pois acrescenta um sufixo numérico, mas eu estou procurando preservar o nome do arquivo original e adicionar um sufixo. Ou seja, ele gera * -resized-0.jpeg * -resized-1.jpeg ...

Verificado isso não parece aplicável, Múltiplos arquivos de entrada e arquivos de saída no awk

edit: Isso é possível ou preciso escrever um script?

    
por StackAbstraction 18.08.2015 / 18:10

1 resposta

1

Depende de como você define a palavra "script". Indiscutivelmente, este é um script:

for f in *.jpg
do
    convert "$f" -resize 800x600 ... "${f%.*}"-resized.jpeg
done

mas você pode digitar isso no seu terminal. O comando (ou qualquer número de comandos) entre o do e o done get (s) executado uma vez para cada arquivo que corresponda a *.jpg , com $f definido para cada nome de arquivo. ${f%.*} é uma forma de expansão de parâmetro que remove a extensão do nome do arquivo (string matching .* ) do final (ou seja, o lado direito) do nome do arquivo $f .

Nomear os arquivos de saída .jpeg em vez de .jpg é uma boa ideia, para impedir que o curinga *.jpg os corresponda. Outra abordagem é gravar os arquivos de saída em um diretório diferente.

    
por 18.08.2015 / 20:13