Renomear sequencia de arquivos 001, 002, ..., 011 para 001F, 001V, ...006F [RESOLVIDO]

1. Renomear sequencia de arquivos 001, 002, ..., 011 para 001F, 001V, ...006F [RESOLVIDO]

Wanderson
wandersonbc

(usa Ubuntu)

Enviado em 17/05/2016 - 14:53h

Boa tarde pessoal,

Estou precisando automatizar uma quebra de arquivos tiff multi-paginas para paginas separadas, estou utilizando o comando convert do pacote ImageMagick, e ele cria as paginas sequencialmente.
Ex.: arquivoTIFF22.tif para arquivoTiff22_001.tif, arquivoTiff22_002.tif..., arquivoTiff22_011.tiff

Mas para atender um layout pré-especifico, preciso renomear de forma que a imagem 1 seja a frente, ou seja arquivoTiff22_001F.tif e a imagem 2 seja o verso: arquivoTiff22_001V.tif, e assim sucessivamente.

Alguém poderia dar uma dica para renomear este lote de arquivo, ou talvez saiba se existe alguma opção no comando convert que o faça?
Obrigado.


  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 18/05/2016 - 11:00h

wandersonbc escreveu:


Muito obrigado pela força Marcelo, mas bateu na trave! rsrs
Eu precisava na saída algo como:

ARQUIVO_001F.tif
ARQUIVO_001V.tif
ARQUIVO_002F.tif
ARQUIVO_002V.tif
ARQUIVO_003F.tif
ARQUIVO_003V.tif

Eu quase consegui algo, mas esta dando um erro em uma variável que não esta limpando durante o laço, vou mostrar até onde consegui chegar (por favor não reparem na bagunça do noob rsrs):

#!/bin/bash
for arquivoTIF_ORIG in $HOME/*.tif; do #encontro as matriculas já desmembradas: 0001234_00001.tif 0001234_00002.tif 0001234_00003.tif, ...
matricula=$(echo $arquivoTIF_ORIG | cut -d'_' -f1) #filtro a matricula: 0001234_00001.tif vira 0001234
pagina=$(echo $arquivoTIF_ORIG | cut -d'_' -f2 | cut -d'.' -f1) #filtro apenas a pagina: 0001234_00001.tif vira 00001
modpagina=$(echo "${pagina}%2" | bc) # guardo o módulo da divisão da pagina
if [ "$modpagina" = 0 ];then #se fo par, então é o verso
pagina="$(echo $pagina/2 | bc)" #divido por a pagina por 2 e guardo (1 divido por 2 vai retornar 1 neste caso)
arquivoTIF_FINAL=${matricula}_$(seq -f "%05g" $pagina)V.tif #monto o nome final do arquivo, o seq -f esta ai apenas para manter o layout de 5 strings no nome.
echo $arquivoTIF_ORIG $arquivoTIF_FINAL #apenas para ver o resultado
elif [ "$modpagina" = 1 ];then #se for impar, é frente (minha contagem começa do 1 e não zero)
pagina="$(echo $pagina/2 + $modpagina | bc)" #divido a pagina por 2 e somo 1
arquivoTIF_FINAL=${matricula}_$(seq -f "%05g" $pagina)F.tif
echo $arquivoTIF_ORIG $arquivoTIF_FINAL
fi
done

No primeiro laço deu certo, mas nos laços seguintes a variável $pagina ou a variável $matricula esta concatenando com os valores anteriores.
Veja a saída:

0001234_00001.tif 0001234_00001F.tif <---- aqui foi sucesso!
0001234_00002.tif 0001234_00001V.tif <---- aqui também!
0001234_00003.tif 0001234_00001 00002F.tif <--- daqui para baixo desandou
0001234_00004.tif 0001234_00001 00002V.tif
0001234_00005.tif 0001234_00001 00002 00003F.tif
0001234_00006.tif 0001234_00001 00002 00003V.tif


Bom dia, wandersonbc.
Agora (parece) que entendi . . .
E mais simples, não precisa saber se é PAR ou IMPAR.
Apenas "DUPLICAR" a ENTRADA, colocando o "F ou V" na SAíDA .
Se, o que você precisa é:

0001234_00001F.tif
0001234_00001V.tif
0001234_00002F.tif
0001234_00002V.tif
0001234_00003F.tif
0001234_00003V.tif
0001234_00004F.tif
0001234_00004V.tif
0001234_00005F.tif
0001234_00005V.tif
0001234_00005F.tif
0001234_00005V.tif
0001234_00007F.tif
0001234_00007V.tif
0001234_00008F.tif
0001234_00008V.tif
0001234_00009F.tif
0001234_00009V.tif
0001234_000010F.tif
0001234_000010V.tif

A solução é:

while IFS="_" read -r MAT PG;do
PGN=$(cut -d"." -f1 <<< "$PG")
for FV in F V;do
echo ""$MAT"_"$PGN""$FV".tif"
done
done<paginas.txt


Ou
A solução é:

while IFS=$"\n" read -r line;do
for FV in F V;do
sed 's/\./'$FV'\./' <<< "$line" >> PAGINAS_NOVO.txt
done
done<paginas.txt


ONDE,
cat paginas.txt
0001234_00001.tif
0001234_00002.tif
0001234_00003.tif
0001234_00004.tif
0001234_00005.tif
0001234_00005.tif
0001234_00007.tif
0001234_00008.tif
0001234_00009.tif
0001234_000010.tif

ls -1 >> paginas.txt

Se, a resposta foi satisfatória, resolveu seu problema e te ajudou. . .
Marque-a como "a MELHOR", assim ganho uns pontos, o que incentiva a continuar colaborando . . . Rsrsrsr

Abç.:
Marcelo Oliver



3. Re: Renomear sequencia de arquivos 001, 002, ..., 011 para 001F, 001V, ...006F [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/05/2016 - 14:59h

Não é difícil. Mas para saber sobre o contador que irá colocar os números de sequência nos arquivos está faltando saber quantos arquivos há no total e se há mais algum padrão a ser criado nos nomes dos arquivos. Com um for {} resolve.

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



4. Re: Renomear sequencia de arquivos 001, 002, ..., 011 para 001F, 001V, ...006F

Wanderson
wandersonbc

(usa Ubuntu)

Enviado em 17/05/2016 - 15:15h

listeiro_037 escreveu:

Não é difícil. Mas para saber sobre o contador que irá colocar os números de sequência nos arquivos está faltando saber quantos arquivos há no total e se há mais algum padrão a ser criado nos nomes dos arquivos. Com um for {} resolve.

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


Opa, tranquilo Listeiro?

na pasta onde onde vou pegar os arquivos originais, vai ser aleatório, cada hora vai ter quantidade de arquivos diferentes e com numeração diferente, porem o tamanho de string terá layout de nome fixo: 7 posições de caracteres, + a extensão ".tif",
ex.: 0001234.tif imagine que este arquivo tem 5 paginas dentro, hoje eu consigo a seguinte saída:
0001234_00001.tif
0001234_00002.tif
0001234_00003.tif
0001234_00004.tif
0001234_00005.tif

só que preciso que seja:
0001234_00001F.tif
0001234_00001V.tif
0001234_00002F.tif
0001234_00002V.tif
0001234_00005F.tif

Hoje, no meus script eu faço um for e assim que divido/renomeio um arquivo tiff, eu ja movo para outra pasta.



5. Re: Renomear sequencia de arquivos 001, 002, ..., 011 para 001F, 001V, ...006F [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/05/2016 - 15:26h

Por favor, teria como passar o seu script?

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



6. Re: Renomear sequencia de arquivos 001, 002, ..., 011 para 001F, 001V, ...006F

Wanderson
wandersonbc

(usa Ubuntu)

Enviado em 17/05/2016 - 16:09h

listeiro_037 escreveu:

Por favor, teria como passar o seu script?

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


Opa Listeiro, o script é bem extenso pois faz muitas outras automações juntas, mas a parte que eu acho que nos interessa é esta:

for arquivoTIF_ORIG in $SOURCE/*.tif; do arquivoTIF_FINAL=$(/usr/bin/seq -f "%07g" $(/usr/bin/basename $arquivoTIF_ORIG .tif) $(/usr/bin/basename $arquivoTIF_ORIG .tif)); convert $arquivoTIF_ORIG $HOME/${arquivoTIF_FINAL}_%05d.tif; rm $arquivoTIF_ORIG; done


ele pegar tudo que esta na pasta $SOURCE com extensão tif (aqui apenas terá extensão tif de qualquer forma, foi apenas para reforçar) e guarda o novo nome do arquivo como layout de 7 caracteres (seq -f "%07g") e depois chama o comando converte que divide o arquivo renomeando, passando o novo nome do arquivo (convert $ORIGINAL.tif para $NOVONOME_%05.tif que fica 0001234_00001.tif , 0001234_00002.tif, ...)

Garrei nesta parte para fazer o frente e verso das paginas. Estava pensando em tentar fazer um modulo, mas ainda não tive uma boa ideia.




7. Re: Renomear sequencia de arquivos 001, 002, ..., 011 para 001F, 001V, ...006F [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 17/05/2016 - 17:31h

wandersonbc escreveu:

Boa tarde pessoal,

Estou precisando automatizar uma quebra de arquivos tiff multi-paginas para paginas separadas, estou utilizando o comando convert do pacote ImageMagick, e ele cria as paginas sequencialmente.
Ex.: arquivoTIFF22.tif para arquivoTiff22_001.tif, arquivoTiff22_002.tif..., arquivoTiff22_011.tiff

Mas para atender um layout pré-especifico, preciso renomear de forma que a imagem 1 seja a frente, ou seja arquivoTiff22_001F.tif e a imagem 2 seja o verso: arquivoTiff22_001V.tif, e assim sucessivamente.

Alguém poderia dar uma dica para renomear este lote de arquivo, ou talvez saiba se existe alguma opção no comando convert que o faça?
Obrigado.


Boa tarde wandersonbc.
Os pares FRENTE e os impares VERSO, é isso?
att
marcelo oliver




8. Re: Renomear sequencia de arquivos 001, 002, ..., 011 para 001F, 001V, ...006F

Wanderson
wandersonbc

(usa Ubuntu)

Enviado em 17/05/2016 - 17:54h


Boa tarde wandersonbc.
Os pares FRENTE e os impares VERSO, é isso?
att
marcelo oliver



Ola Marcelo,
Seria o inverso, impares FRENTE e pares VERSO, mas você conseguiu se expressar melhor que eu!




9. Re: Renomear sequencia de arquivos 001, 002, ..., 011 para 001F, 001V, ...006F [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 17/05/2016 - 18:41h

wandersonbc escreveu:


Boa tarde wandersonbc.
Os pares FRENTE e os impares VERSO, é isso?
att
marcelo oliver


Ola Marcelo,
Seria o inverso, impares FRENTE e pares VERSO, mas você conseguiu se expressar melhor que eu!


Inverti tudo .... rsrsrrs
Segue uma sugestão, gera o numero, verifica se é PAR ou IMPAR.....

#!/bin/bash
COUNT() {
[ -z $x ] && x=1
if (($x <= 10));then
(($(($x%2))==0)) && printf "ARQUIVO_%03dV.tif\n" $x || printf "ARQUIVO_%03dF.tif\n" $x
let x++
else
exit 0
fi
COUNT
}
COUNT


SAIDA:

ARQUIVO_001F.tif
ARQUIVO_002V.tif
ARQUIVO_003F.tif
ARQUIVO_004V.tif
ARQUIVO_005F.tif
ARQUIVO_006V.tif
.
.
.


É isso . . .
att.:
Marcelo oliver


10. Re: Renomear sequencia de arquivos 001, 002, ..., 011 para 001F, 001V, ...006F

Wanderson
wandersonbc

(usa Ubuntu)

Enviado em 17/05/2016 - 19:42h


Inverti tudo .... rsrsrrs
Segue uma sugestão, gera o numero, verifica se é PAR ou IMPAR.....

#!/bin/bash
COUNT() {
[ -z $x ] && x=1
if (($x <= 10));then
(($(($x%2))==0)) && printf "ARQUIVO_%03dV.tif\n" $x || printf "ARQUIVO_%03dF.tif\n" $x
let x++
else
exit 0
fi
COUNT
}
COUNT


SAIDA:

ARQUIVO_001F.tif
ARQUIVO_002V.tif
ARQUIVO_003F.tif
ARQUIVO_004V.tif
ARQUIVO_005F.tif
ARQUIVO_006V.tif
.
.
.


É isso . . .
att.:
Marcelo oliver


Muito obrigado pela força Marcelo, mas bateu na trave! rsrs
Eu precisava na saída algo como:

ARQUIVO_001F.tif
ARQUIVO_001V.tif
ARQUIVO_002F.tif
ARQUIVO_002V.tif
ARQUIVO_003F.tif
ARQUIVO_003V.tif

Eu quase consegui algo, mas esta dando um erro em uma variável que não esta limpando durante o laço, vou mostrar até onde consegui chegar (por favor não reparem na bagunça do noob rsrs):

#!/bin/bash
for arquivoTIF_ORIG in $HOME/*.tif; do #encontro as matriculas já desmembradas: 0001234_00001.tif 0001234_00002.tif 0001234_00003.tif, ...
matricula=$(echo $arquivoTIF_ORIG | cut -d'_' -f1) #filtro a matricula: 0001234_00001.tif vira 0001234
pagina=$(echo $arquivoTIF_ORIG | cut -d'_' -f2 | cut -d'.' -f1) #filtro apenas a pagina: 0001234_00001.tif vira 00001
modpagina=$(echo "${pagina}%2" | bc) # guardo o módulo da divisão da pagina
if [ "$modpagina" = 0 ];then #se fo par, então é o verso
pagina="$(echo $pagina/2 | bc)" #divido por a pagina por 2 e guardo (1 divido por 2 vai retornar 1 neste caso)
arquivoTIF_FINAL=${matricula}_$(seq -f "%05g" $pagina)V.tif #monto o nome final do arquivo, o seq -f esta ai apenas para manter o layout de 5 strings no nome.
echo $arquivoTIF_ORIG $arquivoTIF_FINAL #apenas para ver o resultado
elif [ "$modpagina" = 1 ];then #se for impar, é frente (minha contagem começa do 1 e não zero)
pagina="$(echo $pagina/2 + $modpagina | bc)" #divido a pagina por 2 e somo 1
arquivoTIF_FINAL=${matricula}_$(seq -f "%05g" $pagina)F.tif
echo $arquivoTIF_ORIG $arquivoTIF_FINAL
fi
done

No primeiro laço deu certo, mas nos laços seguintes a variável $pagina ou a variável $matricula esta concatenando com os valores anteriores.
Veja a saída:

0001234_00001.tif 0001234_00001F.tif <---- aqui foi sucesso!
0001234_00002.tif 0001234_00001V.tif <---- aqui também!
0001234_00003.tif 0001234_00001 00002F.tif <--- daqui para baixo desandou
0001234_00004.tif 0001234_00001 00002V.tif
0001234_00005.tif 0001234_00001 00002 00003F.tif
0001234_00006.tif 0001234_00001 00002 00003V.tif




11. Re: Renomear sequencia de arquivos 001, 002, ..., 011 para 001F, 001V, ...006F [RESOLVIDO]

Wanderson
wandersonbc

(usa Ubuntu)

Enviado em 19/05/2016 - 15:54h

msoliver escreveu:
Bom dia, wandersonbc.
Agora (parece) que entendi . . .
E mais simples, não precisa saber se é PAR ou IMPAR.
Apenas "DUPLICAR" a ENTRADA, colocando o "F ou V" na SAíDA .
Se, o que você precisa é:

0001234_00001F.tif
0001234_00001V.tif
0001234_00002F.tif
0001234_00002V.tif
0001234_00003F.tif
0001234_00003V.tif
0001234_00004F.tif
0001234_00004V.tif
0001234_00005F.tif
0001234_00005V.tif
0001234_00005F.tif
0001234_00005V.tif
0001234_00007F.tif
0001234_00007V.tif
0001234_00008F.tif
0001234_00008V.tif
0001234_00009F.tif
0001234_00009V.tif
0001234_000010F.tif
0001234_000010V.tif

A solução é:

while IFS="_" read -r MAT PG;do
PGN=$(cut -d"." -f1 <<< "$PG")
for FV in F V;do
echo ""$MAT"_"$PGN""$FV".tif"
done
done<paginas.txt


Ou
A solução é:

while IFS=$"\n" read -r line;do
for FV in F V;do
sed 's/\./'$FV'\./' <<< "$line" >> PAGINAS_NOVO.txt
done
done<paginas.txt


ONDE,
cat paginas.txt
0001234_00001.tif
0001234_00002.tif
0001234_00003.tif
0001234_00004.tif
0001234_00005.tif
0001234_00005.tif
0001234_00007.tif
0001234_00008.tif
0001234_00009.tif
0001234_000010.tif

ls -1 >> paginas.txt

Se, a resposta foi satisfatória, resolveu seu problema e te ajudou. . .
Marque-a como "a MELHOR", assim ganho uns pontos, o que incentiva a continuar colaborando . . . Rsrsrsr

Abç.:
Marcelo Oliver


Marcelo, valeu demais pela ajuda e presteza, infelizmente seu script não gerou o resultado que eu queria, pois se na entrada eu tenho 10 arquivos tifs com numeração em sequencia de 1 a 10, na minha saída com frente e verso eu deveria ter uma sequencia final de 1 a 5 (pois como vou ter 1Frente e 1Verso, a quantidade de arquivos é a mesma mas a numeração fica reduzida pela metade).

Com uma solução nada elegante, consegui o resultado que queria:
No meu ultimo código cometi um pequeno mas irritante erro: no comando seq, delimitei inicio mas não o fim da contagem para gerar o contador do nome do arquivo.
Ficou assim no final:


for arquivoTIF_ORIG in $TEMP/*.tif; do
matricula=$(echo $arquivoTIF_ORIG | /usr/bin/cut -d'_' -f2)
pagina=$(echo $arquivoTIF_ORIG | /usr/bin/cut -d'_' -f3 | /usr/bin/cut -d'.' -f1)
modpagina=$(echo "${pagina}%2" | /usr/bin/bc)
if [ "$modpagina" = 0 ];then
pagina="$(echo $pagina/2 | /usr/bin/bc)"
arquivoTIF_FINAL="$DESTINO/${matricula}_$(/usr/bin/seq -f "%05g" $pagina $pagina)V.tif" # <=== aqui foi o erro, esqueci de repetir o segundo $pagina que faz com que o seq comece uma sequencia de numeração, mas pare nela mesmo, usei isto apenas para manter o layout de 5 strings na numeração da pagina.
/bin/mv ${arquivoTIF_ORIG} ${arquivoTIF_FINAL}
elif [ "$modpagina" = 1 ];then
pagina="$(echo $pagina/2 + $modpagina | /usr/bin/bc)"
arquivoTIF_FINAL=$DESTINO/${matricula}_$(/usr/bin/seq -f "%05g" $pagina $pagina)F.tif
/bin/mv ${arquivoTIF_ORIG} ${arquivoTIF_FINAL}
fi

Onde:
na pasta $TEMP terá os arquivos: _______________Na pasta $DESTINO eu terei:
0121204_00001.tif_______________________________0121204_00001F.tif
0121204_00002.tif_______________________________0121204_00001V.tif
0121204_00003.tif_______________________________0121204_00002F.tif
0121204_00004.tif_______________________________0121204_00002V.tif
0121204_00005.tif_______________________________0121204_00003F.tif
0121204_00006.tif_______________________________0121204_00003V.tif
0121204_00007.tif_______________________________0121204_00004F.tif
0121204_00008.tif_______________________________0121204_00004V.tif
0121204_00009.tif_______________________________0121204_00005F.tif
0121204_00010.tif_______________________________0121204_00005V.tif
0121204_00011.tif_______________________________0121204_00006F.tif

Vou estudar melhor a sua dica, pois além de mais simples parece ser muito mais eficiente.
Agradeço a todos pela ajuda. Até mais.



12. Re: Renomear sequencia de arquivos 001, 002, ..., 011 para 001F, 001V, ...006F [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 19/05/2016 - 21:47h

wandersonbc escreveu:

msoliver escreveu:
Bom dia, wandersonbc.
Agora (parece) que entendi . . .
E mais simples, não precisa saber se é PAR ou IMPAR.
Apenas "DUPLICAR" a ENTRADA, colocando o "F ou V" na SAíDA .
Se, o que você precisa é:

0001234_00001F.tif
0001234_00001V.tif
0001234_00002F.tif
0001234_00002V.tif
0001234_00003F.tif
0001234_00003V.tif
0001234_00004F.tif
0001234_00004V.tif
0001234_00005F.tif
0001234_00005V.tif
0001234_00005F.tif
0001234_00005V.tif
0001234_00007F.tif
0001234_00007V.tif
0001234_00008F.tif
0001234_00008V.tif
0001234_00009F.tif
0001234_00009V.tif
0001234_000010F.tif
0001234_000010V.tif

A solução é:

while IFS="_" read -r MAT PG;do
PGN=$(cut -d"." -f1 <<< "$PG")
for FV in F V;do
echo ""$MAT"_"$PGN""$FV".tif"
done
done<paginas.txt


Ou
A solução é:

while IFS=$"\n" read -r line;do
for FV in F V;do
sed 's/\./'$FV'\./' <<< "$line" >> PAGINAS_NOVO.txt
done
done<paginas.txt


ONDE,
cat paginas.txt
0001234_00001.tif
0001234_00002.tif
0001234_00003.tif
0001234_00004.tif
0001234_00005.tif
0001234_00005.tif
0001234_00007.tif
0001234_00008.tif
0001234_00009.tif
0001234_000010.tif

ls -1 >> paginas.txt

Se, a resposta foi satisfatória, resolveu seu problema e te ajudou. . .
Marque-a como "a MELHOR", assim ganho uns pontos, o que incentiva a continuar colaborando . . . Rsrsrsr

Abç.:
Marcelo Oliver


Marcelo, valeu demais pela ajuda e presteza, infelizmente seu script não gerou o resultado que eu queria, pois se na entrada eu tenho 10 arquivos tifs com numeração em sequencia de 1 a 10, na minha saída com frente e verso eu deveria ter uma sequencia final de 1 a 5 (pois como vou ter 1Frente e 1Verso, a quantidade de arquivos é a mesma mas a numeração fica reduzida pela metade).

Com uma solução nada elegante, consegui o resultado que queria:
No meu ultimo código cometi um pequeno mas irritante erro: no comando seq, delimitei inicio mas não o fim da contagem para gerar o contador do nome do arquivo.
Ficou assim no final:


for arquivoTIF_ORIG in $TEMP/*.tif; do
matricula=$(echo $arquivoTIF_ORIG | /usr/bin/cut -d'_' -f2)
pagina=$(echo $arquivoTIF_ORIG | /usr/bin/cut -d'_' -f3 | /usr/bin/cut -d'.' -f1)
modpagina=$(echo "${pagina}%2" | /usr/bin/bc)
if [ "$modpagina" = 0 ];then
pagina="$(echo $pagina/2 | /usr/bin/bc)"
arquivoTIF_FINAL="$DESTINO/${matricula}_$(/usr/bin/seq -f "%05g" $pagina $pagina)V.tif" # <=== aqui foi o erro, esqueci de repetir o segundo $pagina que faz com que o seq comece uma sequencia de numeração, mas pare nela mesmo, usei isto apenas para manter o layout de 5 strings na numeração da pagina.
/bin/mv ${arquivoTIF_ORIG} ${arquivoTIF_FINAL}
elif [ "$modpagina" = 1 ];then
pagina="$(echo $pagina/2 + $modpagina | /usr/bin/bc)"
arquivoTIF_FINAL=$DESTINO/${matricula}_$(/usr/bin/seq -f "%05g" $pagina $pagina)F.tif
/bin/mv ${arquivoTIF_ORIG} ${arquivoTIF_FINAL}
fi

Onde:
na pasta $TEMP terá os arquivos: _______________Na pasta $DESTINO eu terei:
0121204_00001.tif_______________________________0121204_00001F.tif
0121204_00002.tif_______________________________0121204_00001V.tif
0121204_00003.tif_______________________________0121204_00002F.tif
0121204_00004.tif_______________________________0121204_00002V.tif
0121204_00005.tif_______________________________0121204_00003F.tif
0121204_00006.tif_______________________________0121204_00003V.tif
0121204_00007.tif_______________________________0121204_00004F.tif
0121204_00008.tif_______________________________0121204_00004V.tif
0121204_00009.tif_______________________________0121204_00005F.tif
0121204_00010.tif_______________________________0121204_00005V.tif
0121204_00011.tif_______________________________0121204_00006F.tif

Vou estudar melhor a sua dica, pois além de mais simples parece ser muito mais eficiente.
Agradeço a todos pela ajuda. Até mais.

----------------------------------------------------------------------------------------------------------------
Boa noite, wandersonbc.
Desculpe o erro de interpretação . . .
Agora vai . . .


while IFS="_" read -r MAT PG;do
PGN=$(cut -d"." -f1 <<< "$PG"); ((($((10#$PGN))%2)==0)) && VF="V" || VF="F"
NOVAPG=$(bc <<< "scale=1;$PGN/2")
[ $(egrep '\.5$' <<< "$NOVAPG") ] && NOVAPG=$(sed 's/\.0$//' <<< $(bc <<< "$NOVAPG+0.5")) || NOVAPG=$(sed 's/\.0$//' <<< "$NOVAPG")
printf "%07d_%s ________ %s_%05d$VF.TIF\n" $((10#$MAT)) $PG $MAT $((10#$NOVAPG))
done<paginas-00.txt


0001234_00001.tif ________ 0001234_00001F.TIF
0001234_00002.tif ________ 0001234_00001V.TIF
0001234_00003.tif ________ 0001234_00002F.TIF
0001234_00004.tif ________ 0001234_00002V.TIF
0001234_00005.tif ________ 0001234_00003F.TIF
0001234_00006.tif ________ 0001234_00003V.TIF
0001234_00007.tif ________ 0001234_00004F.TIF
0001234_00008.tif ________ 0001234_00004V.TIF
0001234_00009.tif ________ 0001234_00005F.TIF
0001234_00010.tif ________ 0001234_00005V.TIF
0001234_00011.tif ________ 0001234_00006F.TIF

Para baixar:
https://drive.google.com/open?id=0B2Fv6_t08qoMVmtNRi1sZkdpY2c 


Att.:
Marcelo Oliver




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts