dcamt
Publicado por Jean Michel 26/11/2004
[ Hits: 4.540 ]
Script para renomear, dimencionar, e organizar imagens
apartir de diretórios ou cameras digitais.
#!/bin/bash ################################################################################# # # # DCAMTOOLv2.0: Rename and resize your pictures. # # requeriments: grep, awk, imagemagick # # # ################################################################################# # Copyright (C) 2004 Jean Michel Feltrin feltrin@gmail.com # # # # This program is free software; you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation; either version 2 of the License, or # # (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with this program; if not, write to the Free Software Foundation, # # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # # # # ################################################################################# echo -e " _ _" echo -e " __| | ___ __ _ _ __ ___ | |_" echo -e " / _ |/ __/ _ | '_ _ \| __|" echo -e "| (_| | (_| (_| | | | | | | |_" echo -e " \__,_|\___\__,_|_| |_| |_|\__|" echo -e # Configures: WDIR="$PWD" # WORK DIRECTORY TITLE="dsc" # EVENT NAME INUM=0 # INCREMENT NUMBER RSIZE="640x480" # RESIZE VALUE ALBUM="/home/$USER/Album" # Album colection Dir TITLE=$(echo "$TITLE`date +%d%m%y`") CDEV="/dev/sda1" # Your Digital Camera Device ###################################################### # Album Configure ALBUM="/home/$USER/Album" # Album colection Dir if [ ! -d $ALBUM ]; then mkdir $ALBUM fi YDATE=`date +%Y` ptMES="Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro" cmes=0 for enPT in `echo $ptMES`; do let cmes=$cmes+1 if [ $cmes = `date +%m` ]; then MDATE=$enPT fi done if [ ! -d $ALBUM/$YDATE/$MDATE ]; then mkdir -p $ALBUM/$YDATE/$MDATE fi ABDIR=$ALBUM/$YDATE/$MDATE ###################################################### # Warning! if you set this options it'll copy all your # pictures from your memory stick to your machine # CDIR THE DIR WITH THE CAM PICTURES # you should check this directory according to your cam CDIR="/mnt/cam/dcim/101msdcf" ###################################################### if [ "`mount | grep $CDEV | awk '{print $1}'`" = "/dev/sda1" ]; then echo "Would you work on you digital camera pictures," echo -n "it will copy all your camera file to: /tmp/dcamt/, would you ? (y/n):" read mfop MFFREE=`echo $mfop | tr [A-Z] [a-z]` if [ $MSFREE != "N" ]; then if [ ! -d /tmp/dcamt ]; then mkdir /tmp/dcamt fi cp $CDIR/* /tmp/dcamt/ WDIR="/tmp/dcamt" fi fi ###################################################### if [ ! -z $1 ]; then TITLE="$1" TITLE=$(echo "$TITLE`date +%d%m%y`") fi if [ ! -z $2 ]; then RSIZE="$2" echo $RSIZE if [ $RSIZE = "1024x768" ]; then RSIZE="1024x768" elif [ $RSIZE = "800x600" ]; then RSIZE="800x600" elif [ $RSIZE = "640x480" ]; then RSIZE="640x480" else RSIZE="640x480" fi fi if [ ! -z $3 ]; then #RENAME rlop="$3" fi if [ ! -z $4 ]; then #SIZE lop="$4" fi if [ ! -z $5 ]; then #MOVE mlop="$5" fi function showcf() { echo echo "Configure:" echo -e "\t WORKDIR\t:[ $WDIR ]" echo -e "\t TITLE\t\t:[ $TITLE ]" echo -e "\t RESIZED VALUE\t:[ $RSIZE ]" echo "--------------------------------" echo } showcf function conf() { lcop=$6 echo -n "Would you change the configuration ? (y/n): " if [ -z $lcop ]; then read cop lcop=`echo $cop | tr [A-Z] [a-z]` fi if [ "$lcop" = "y" ]; then echo "! To keep the default just press ENTER !" echo echo -n "Workdir: " OWDIR=$WDIR read WDIR if [ -z $WDIR ]; then WDIR=$OWDIR fi echo -n "Title: " OTITLE=$TITLE read TITLE if [ -z $TITLE ]; then TITLE=$OTITLE fi echo -n "Resize: " OLDRSIZE=$RSIZE read RSIZE if [ -z $RSIZE ];then RSIZE=$OLDRSIZE fi echo showcf fi } conf # RENAME THE FILE if [ -z $rlop ]; then rlop=n fi while [ $rlop != "y" ]; do echo -n "Would you rename the files ? (y/n): " read op rlop=`echo $op | tr [A-Z] [a-z]` if [ $rlop = "y" ]; then for FILE in `ls $WDIR/*.jpg` do if [ $FILE = "dcamt.sh" ] || [ $FILE = "dcamt" ]; then continue fi let INUM=$INUM+1 EVNUM=`echo "$TITLE-0"` RENAME=`echo "$EVNUM$INUM.jpg"` if [ "$FILE" != "$RENAME" ]; then echo "Renaming: $FILE to $RENAME" mv $FILE $WDIR/$RENAME else echo "RENAME: The files were with the same name." break fi done # fi if [ $rlop = "n" ]; then break fi done # Image Size if [ "$OSIZE" = "$RSIZE" ]; then echo "RESIZE: The files are with the same size." else if [ -z $lop ]; then lop=n fi while [ $lop != "y" ]; do echo -n "Would you chage your images size $OSIZE to $RSIZE ? (y/n): " read op lop=`echo $op | tr [A-Z] [a-z]` if [ $lop = "n" ]; then break fi done if [ $lop = "y" ]; then for FILE in `ls $WDIR/*.jpg` do OSIZE=`convert -verbose $FILE /dev/null | head -n 1 | cut -d " " -f3 | cut -d "+" -f 1` echo "Converting $FILE with $OSIZE to $RSIZE" convert -size $OSIZE $FILE -resize $RSIZE $FILE done fi fi # Move files to an other directory if [ -z $mlop ]; then mlop=n fi while [ $mlop != "y" ]; do echo -n "Would you move all jpg files to $TITLE directory ? (y/n): " read op mlop=`echo $op | tr [A-Z] [a-z]` if [ $mlop = "n" ]; then break fi done if [ $mlop = "y" ]; then mkdir $WDIR/$TITLE for FILE in `ls *.jpg` do echo "Moving: $FILE..." mv $FILE $TITLE/ done echo "All files were moved with sucess. Done" mv $WDIR/$TITLE/ $ABDIR/ fi ################################################
Limpar pacotes com versões antigas do cache do apt
PkgBuild - um gerenciador de construção de pacotes
Script para desmontar partição/unidade
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (2)
Preciso resolver um erro de DPKG (0)
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta