Enviado em 17/05/2016 - 14:53h
Boa tarde pessoal,Enviado em 18/05/2016 - 11:00h
#!/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
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
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
while IFS=$"\n" read -r line;do for FV in F V;do sed 's/\./'$FV'\./' <<< "$line" >> PAGINAS_NOVO.txt done done<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
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.Enviado em 17/05/2016 - 15:15h
Enviado em 17/05/2016 - 15:26h
Por favor, teria como passar o seu script?Enviado em 17/05/2016 - 16:09h
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
Enviado em 17/05/2016 - 17:31h
Enviado em 17/05/2016 - 17:54h
Enviado em 17/05/2016 - 18:41h
#!/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
ARQUIVO_001F.tif ARQUIVO_002V.tif ARQUIVO_003F.tif ARQUIVO_004V.tif ARQUIVO_005F.tif ARQUIVO_006V.tif . . .
Enviado em 17/05/2016 - 19:42h
#!/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
ARQUIVO_001F.tif ARQUIVO_002V.tif ARQUIVO_003F.tif ARQUIVO_004V.tif ARQUIVO_005F.tif ARQUIVO_006V.tif . . .
#!/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
Enviado em 19/05/2016 - 15:54h
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
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
while IFS=$"\n" read -r line;do for FV in F V;do sed 's/\./'$FV'\./' <<< "$line" >> PAGINAS_NOVO.txt done done<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
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
Enviado em 19/05/2016 - 21:47h
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
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
while IFS=$"\n" read -r line;do for FV in F V;do sed 's/\./'$FV'\./' <<< "$line" >> PAGINAS_NOVO.txt done done<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
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
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
https://drive.google.com/open?id=0B2Fv6_t08qoMVmtNRi1sZkdpY2c
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
Como desativar notificações de jogos de azar (2)
Jogos baixados na Central de Aplicativos mas que não abrem (1)