Cuenta el total de páginas de los documentos PDF en el directorio actual.
for F in `ls *.pdf`; do RESULTADO=$(($RESULTADO+`pdfinfo $F | grep "Pages:" | awk '{print $2}'`)); done; echo $RESULTADO
Cuenta el total de páginas de los documentos PDF en el directorio actual.
for F in `ls *.pdf`; do RESULTADO=$(($RESULTADO+`pdfinfo $F | grep "Pages:" | awk '{print $2}'`)); done; echo $RESULTADO
Un script muy simple que lanza una notificación cuando se consigue establecer conexión con un servidor remoto. Para quienes tenemos un ISP que frecuentemente nos deja a pata, sin conexión a internet.
#!/bin/bash
#avisame_cuando_vuelva_internet.sh
while ! ping -c 1 google.com > /dev/null; do continue; done
zenity --info --text "¡Volvió Internet!"
Expresión regular para listar palabras con una única consonante y un número cualquiera de vocales.
cat /etc/dictionaries-common/words | egrep "^([b]*[aáeéiíoóuú]*)+$"
[b] toma el valor de la consonante.
Expresión regular para listar palabras con una única vocal y un número cualquiera de consonantes en sílabas simples o compuestas.
cat /etc/dictionaries-common/words | egrep "^([^aáeéiíoóuú]*[aá]*)+$"
[aá] puede tomar los valores [aá], [eé], [ií], [oó] o [uú]
Referencia en documentación oficial: https://www.sqlite.org/lang_createtrigger.html
Los triggers (disparadores) son operaciones que se realizan automáticamente ante un evento específico de la base de datos. Pueden desencadenarse por una operación DELETE, INSERT o UPDATE de una tabla, o por la operación UPDATE sobre una o más columnas específicas.
Las acciones del trigger y la cláusula WHEN pueden acceder a los elementos de la fila afectada mediante referencias del tipo "NEW.nombre-columna" y "OLD.nombre-columna". OLD y NEW son referencias relevantes en los siguientes casos:
Las palabras clave BEFORE y AFTER, que pueden anteceder al tipo de evento para el cual el trigger se define, determinan cuándo se ejecutará el trigger en relación a la inserción, modificación o eliminación de la fila.
Es necesario tener esto en cuenta, por ejemplo, en un trigger cuyas acciones involucren un campo autoincremental, que tomará su valor recién después de la ejecución de un INSERT.
Ejemplo tomado de la documentación de CREATE TRIGGER.
Asumiendo que los registros de cliente son almacenados en la tabla "customers", y las órdenes de los clientes en la tabla "orders", el siguiente trigger UPDATE se asegura que todas las ordenes asociadas sean redirigidas cuando un cliente cambia su dirección postal.
CREATE TRIGGER update_customer_address UPDATE OF address ON customers
BEGIN
UPDATE orders SET address = new.address WHERE customer_name = old.name;
END;
Entonces, cuando se ejecuta la sentencia
UPDATE customers SET address = '1 Main St.' WHERE name = 'Jack Jones';
se dispara la siguiente acción
UPDATE orders SET address = '1 Main St.' WHERE customer_name = 'Jack Jones';
Referencia en documentación oficial: https://www.sqlite.org/foreignkeys.html
Asumiendo que la librería está compilada con las restricciones de cláve foránea habilitadas, estas deben ser igualmente habilitadas en tiempo de ejecución para cada conexión con el comando PRAGMA foreign_keys.
sqlite> PRAGMA foreign_keys = ON;
Este comando debe llamarse fuera de una transacción BEGIN...COMMIT ya que dentro de esta no surtirá ningún efecto.
Una clave foránea se define dentro de la tabla que la contiene (child table) de la forma:
FOREIGN KEY(nombre_child_key) REFERENCES nombre_parent_table(nombre_parent_key)
Las cláusulas ON DELETE y ON UPDATE determinan la acción que tomará lugar al eliminar filas de la tabla maestra o modificar, en esta tabla, el valor de la clave asociada de un registro existente.
La acción puede ser:
Copyleft © 2017-2020 — @Sjlvanq
Lingonberry by Anders Noren — Ported by Hakim Zulkufli — Up ↑