Public feed #530455

Mine

public text v1 · immutable
Raw Edit
·published 2007-06-02 03:43 UTC
rendered paste body
#!/bin/bash
if [ -z $1 ];
then
        echo "ERROR: Debe especificar el directorio."
        echo "$0 directorio_a_mover/";
        exit;
fi
if [ -d $1 ];
then
        echo "Directorio $1 ok.";
else
        echo -n "El DIRECTORIO $1 no existe, desea crearlo? [s/n]: ";
        read option;
        if [ $option = "s" ];
        then
                echo -n "Creando directorio $1 ...";
                mkdir $1
                echo " Creado.";
        else
                echo "No se puede continuar si no lo crea. Saliendo ...";
                exit;
        fi
fi
dir=$1;
fecha_err=0; dia_err=0; mes_err=0;
dia=99999; mes=99999; ano=99999;
a_dia=`date +%d`; a_mes=`date +%m`; a_ano=`date +%Y`;
while [ $fecha_err -eq 0 ];
do
        while [ $dia -gt 31 ];
        do
                echo -n "Dia: "; read dia;
                if [ $dia -gt $a_dia ];
                then
                        dia_err=1;
                fi
        done
        while [ $mes -gt 12 ];
        do
                echo -n "Mes: "; read mes;
                if [ $dia_err -eq 1 ];
                then
                        if [ $mes -gt $a_mes ];
                        then
                                mes_err=1;
                        fi
                fi
        done
        while [ $ano -gt $a_ano ];
        do
                echo -n "Ano: "; read ano;
        done
        if [ $mes_err -eq 1 ];
        then
                if [ $ano -eq $a_ano ];
                then
                        echo "La fecha esta en el futuro.";
                        echo "Vuelva a ingresarla.";
                        dia=99999; mes=99999; ano=99999;
                else
                        fecha_err=1;
                fi
        else
                fecha_err=1;
        fi
        if [ $mes -eq 2 ];
        then
                if [ $dia -lt 29 ];
                then
                         fecha_err=1;
                else
                        fecha_err=0;
                        dia=99999; mes=99999; ano=99999;
                fi
        fi
        if [ $mes -eq 4 ];
        then
                if [ $dia -lt 30 ];
                then
                         fecha_err=1;
                else
                        fecha_err=0;
                        dia=99999; mes=99999; ano=99999;
                fi
        fi
        if [ $mes -eq 6 ];
        then
                if [ $dia -lt 30 ];
                then
                         fecha_err=1;
                else
                        fecha_err=0;
                        dia=99999; mes=99999; ano=99999;
                fi
        fi
        if [ $mes -eq 9 ];
        then
                if [ $dia -lt 30 ];
                then
                         fecha_err=1;
                else
                        fecha_err=0;
                        dia=99999; mes=99999; ano=99999;
                fi
        fi
        if [ $mes -eq 11 ];
        then
                if [ $dia -lt 30 ];
                then
                         fecha_err=1;
                else
                        fecha_err=0;
                        dia=99999; mes=99999; ano=99999;
                fi
        fi
        if [ `expr $ano % 4` -eq 0 ];
        then
                if [ $mes -eq 2 ];
                then
                        if [ $dia -lt 30 ];
                        then
                                fecha_err=1;
                        else
                                echo "El ano $ano es bisiesto por lo tanto Febrero tiene 29 dias. Por favor
vuelva a ingresar la fecha."
                                dia=99999; mes=99999; ano=99999;
                                fecha_err=0;
                        fi
                fi
        fi
done
fecha="$dia-$mes-$ano";
echo "Moviendo ficheros que contengan la fecha $fecha ...";
for file in `ls *$fecha*`
do
        mv $file $dir/
        echo "      $file";
done
echo "Hecho.";