jueves, 3 de marzo de 2016

Encontrar grupos de números

Desde un pdf extraigo el texto usando pdftotext. Pero la información contiene un salto de línea por cada celda de la tabla.
Deseo obtener  las cedulas y los nombres en la lista.
Buscando en internet encuentro el siguiente enlace:

http://askubuntu.com/questions/538730/how-to-grep-for-groups-of-n-digits-but-no-more-than-n

Y la respuesta es :
grep -P '(?<!\d)\d{4}(?!\d)' file
 
retirar las líneas que no tienen texto
cut  -f2 reporte.txt | grep -v "^$"


Y para juntarlos: 
join -a 1 <(sort CIAG)  <( sort hoja1) 

ROBOCOPY

Necesitaba copiar una carpeta con nombre relativamente largos corriendo Windows para hacer un respaldo. 
Lo intenté de varias formas, pero el error de "nombre de archivo o path muy largo" seguía apareciendo.
Buscando una forma de listar a manera de árbol el directorio para encontrar los archivos con nombres que deben ser reducidos utilicé el comando HELP.
Al buscar la palabra clave árbol me topé con un comando llamado ROBOCOPY.
El comando permite copiar archivos sin importar el largo de la ruta(path) del archivo.
robocopy /origen   /destino  /E

/E permite hacer la copia recursiva, luego de ejecutarlo, todo funcionó de maravilla. ¿Por qué no hacer que dicho comando realice la copia en lugar del antiguo y no tan funcional COPY? pues por que Microsoft no es una buna compañia. 

martes, 1 de marzo de 2016

Error Moodle pregunta numérica con unidades

Revisando el banco de preguntas de un curso en Moodle se nos presentaba un error al registrar una respuesta a una pregunta numérica con unidad.
El problema esta en utilizar la unidad; cuando se trata de otros casos no existe problema.
La pregunta rezaba "Un perro sano tiene una temperatura rectal de 38°C. ¿Cuál sería esta lectura en escala Kelvin?"
y la respuesta es 275 K.
La parte numérica no es el problema. Mas al momento de espesificar las unidades, ya sea para ser escogidas como opción múltiple o como texto se presenta un error en la base de datos para grabar.
El problema es que se pretendía utilizar k con minúsculas como una respuesta incorrecta. Pero el editor no diferencia entre mayúsculas y minúsculas....
Entonces, era como tratar de ingresar dos ocasiones el mismo valor. y por eso era el error.