Buenas, sigo luchando con mi script, por lo que les consulto: 1) Como puede sacar la cantidad de caracteres (bites) de una variable ?? osea x ej VAR="hola" necesito saber el acho (4) de $VAR. 2) Hay alguna programa, o alguna otra manera de verificar si una hora dada es válida (HH:MM) ?? salu2 Gracias
El Mar 04 Jun 2002 20:53, Mariano Laguzzi escribió: Comprueba lo siguiente
Buenas, sigo luchando con mi script, por lo que les consulto:
1) Como puede sacar la cantidad de caracteres (bites) de una variable ?? osea x ej VAR="hola" necesito saber el acho (4) de $VAR.
con el comando wc puedes contar el numero de caracteres palabras y lineas d
2) Hay alguna programa, o alguna otra manera de verificar si una hora dada es válida (HH:MM) ??
salu2 Gracias
-- ANTONIO MARTIN-POSADILLO SOCIAS tel: +34 629 81 42 92 email: amposadillo@runsolutions.com http://www.runsolutions.com -- Linux Registered User # 274212 #-----------------------------------------------------------------------------------# Mail Disclaimer La Informacion incluida en el presente correo electronico es SECRETO PROFESIONAL Y CONFIDENCIAL, siendo para el uso exclusivo del destinatario arriba mencionado. Si usted lee este mensaje y no es el destinatario señalado, el empleado o el agente responsable de entregar el mensaje al destinatario, o ha recibido esta comunicacion por error, le informamos que esta totalmente prohibida cualquier divulgacion, distribucion o reproduccion de esta comunicacion, y le rogamos que nos lo notifique inmediatamente y nos devuelva el mensaje original a la direccion arriba mencionada. Gracias. The information contained in this e-mail is LEGALLY PRIVILEDGED AND CONFIDENTIAL and is intended only for the use of the addressee named above. If the reader of this message is not the intended recipient or the employee or agent responsible for delivering the message to the intended recipient, or you have received this communication in error, please be aware that any dissemination, distribution or duplication of this communication is strictly prohibited, and please notify us immediately and return the original message to us at the address above. Thank you. #------------------------------------------------------------------------------------#
Hola, La longitud de la cadena que contiene la variable $VAR la puedes obtener con expr $VAR : ".*". También te puede servir para obtener subcadenas (mira el man). Saludos, Luis
Hola.
--- Mariano Laguzzi
2) Hay alguna programa, o alguna otra manera de verificar si una hora dada es válida (HH:MM) ??
(Omito la pregunta 1 porque ya tiene varias respuestas). En cuanto a la pregunta 2, siempre hay "alguna manera". Aquí te pongo una forma general: -------------------------------------------- # hora que queremos comprobar si es correcta hora="15:45" # Comprobar que sigue la forma HH:MM if ! echo "$hora" | grep '^[0-2][0-9]:[0-5][0-9]$' \ > /dev/null then echo "NO es una hora correcta" exit fi # Comprobar que la hora no es mayor que 23 if echo "$hora" | grep "^2[4-9]" > /dev/null then echo "NO es una hora correcta" exit fi # Si ha pasado ambos tests, es una hora correcta echo "SI es una hora correcta" -------------------------------------------- Esta solución se basa en patrones de sustitución, utilizando el programa grep. Es obligatorio que la hora sea HH:MM (ej. 0:29 *NO* se considera correcto, hay que utilizar 00:29). Lo he tecleado sobre la marcha, por lo que no está probado y puede que contenga algún error. Te animo a que construyas tu propia solución (que probablemente estará más adaptada a tus necesidades). Para cualquier tratamiento más avanzado probablemente necesitarás tratar las partes HH y MM numéricamente. Aquí te va un ejemplo rápido de cómo hacerlo: -------------------------------------------- hh=`echo "$hora" | cut -f 1 -d :` mm=`echo "$hora" | cut -f 2 -d :` if [ "$hh" -lt 0 -o "$hh" -gt 23 \ -o "$mm" -lt 0 -o "$mm" -gt 23 ] then echo "Hora NO correcta" else echo "Hora SI correcta" fi -------------------------------------------- En la página man del bash tienes instrucciones para hacer casi cualquier manipulación de datos que se te ocurra (incluyendo alguna de las que yo hago más arriba con grep y cut). Es larga, pero merece la pena. Un saludo. Rubén. _______________________________________________________________ Copa del Mundo de la FIFA 2002 El único lugar de Internet con vídeos de los 64 partidos. ¡Apúntante ya! en http://fifaworldcup.yahoo.com/fc/es/
participants (4)
-
Antonio Martin-Posadillo
-
Luis Pascual Forner
-
Mariano Laguzzi
-
Ruben Fernandez Reiriz