Quando os nomes dos arquivos estão sequenciados (000, 001, 002, 003, ...) e há necessidade de alguma ação como copiar determinados arquivos para outro diretório, um script resolve o problema.
Inicialmente todos os arquivos são listados pelo comando ls *.jpg e lidos pelo while. Nomes dos arquivos: z0001.jpg, z0002.jpg, z0003.jpg, ...
A variável file armazena o nome do arquivo a partir da segunda posição e elimina ".jpg".
Por exemplo, o nome z0001.jpg torna-se 001, z0002.jpg torna-se 002 e assim por diante.
Para eu obter somente os arquivos múltiplos de 6, a variável calc armazena o resto da divisão por 6.
O comando de decisão if verifica os arquivos que são múltiplos de 6 e copia para outro diretório.
Caso queria de 5 em 5 ou qualquer outro intervalo, modifique a linha que contém a variável calc.
#!/bin/bash ls *.jpg | { while read arq do file="`echo $arq | cut -c 2- | sed 's/.jpg//'`" calc=`echo "$file % 6" | bc` if [ $calc == 0 ] then cp -v $arq de6em6 fi done }
Nenhum comentário:
Postar um comentário