Este programa, de nombre organiza, le permite mantener los archivos (imágenes y vídeos) recibidos a través de whatsapp, borrando los repetidos y renombrando los resultantes. Dispone de varias opciones para conseguirlo. Debe ejecutarse en un emulador de terminal y funciona bajo el sistema operativo Linux. Está hecho en stklos, una implementación de Scheme, un dialecto de Lisp.
A continuación se muestran los pasos a seguir.
Debe tener instalado el compilador de C para completar éste apartado. En fin, descargue los fuentes del programa en
http://www.stklos.net/download/stklos-1.10.tar.gz
o bien, esta copia
incluida en mi web.
Abra un emulador de terminal, por ejemplo xterm. Sitúese en un directorio (carpeta) dentro de su propio espacio donde tenga permiso de escritura (supongamos que se llama maniobras). Copie aquí el archivo descargado, y descomprímalo, introduciendo:
pedro@servidor2:~/maniobras> tar zxvf stklos-1.10.tar.gz
Mucha información saldrá en pantalla. Liste el directorio:
pedro@servidor2:~/maniobras> ls -al total 5968 drwxr-xr-x 3 pedro users 51 feb 9 12:47 . drwxr-xr-x 84 pedro users 4096 feb 9 11:02 .. drwxr-xr-x 14 pedro users 4096 dic 31 2011 stklos-1.10 -rw-r--r-- 1 pedro users 6097807 feb 9 12:47 stklos-1.10.tar.gz
Cámbiese al directorio creado por la orden tar:
pedro@servidor2:~/maniobras> cd stklos-1.10/
Debe leerse, básicamente, los archivos README e INSTALL. No obstante, éste tipo de programas se construyen con los siguientes pasos:
pedro@servidor2:~/maniobras/stklos-1.10> ./configure
Mucha información saldrá en pantalla. Si todo ha ido bien, ésta orden finalizará con un informe, que en mi caso concreto es:
SUMMARY ******* System: Linux-4.1.39-56-default OS nick: LINUX_4_1 OS type: unix Install prefix : /usr/local C compiler: gcc Compilation flags: -g -O2 Thread support: pthreads System libraries used: libffi libpcre libgmp libgc Compiled libraries: If this is correct, you can just type 'make' now at your shell prompt. Otherwise, re-run 'configure' with correct options.
En mi caso, lo que propone configure es suficiente, así que, ahora procedemos a crear el intérprete, para lo cual, entramos:
pedro@servidor2:~/maniobras/stklos-1.10> make
Otra vez, mucha información saldrá en pantalla. Si todo ha ido bien, debe aparecer algo parecido a las últimas líneas que a continuación se muestran:
make[1]: Leaving directory '/home/pedro/maniobras/stklos-1.10/doc' make[1]: Entering directory '/home/pedro/maniobras/stklos-1.10' make[1]: Nothing to be done for 'all-am'. make[1]: Leaving directory '/home/pedro/maniobras/stklos-1.10'
Por último, tenemos que instalar el programa, lo que debe hacerse como usuario root. Así pues, sin moverse del directorio en el que se encuentra, entre (para convertirse en root):
pedro@servidor2:~/maniobras/stklos-1.10> su Contraseña:
Finalmente, como root, escriba:
servidor2:/home/pedro/maniobras/stklos-1.10 # make install
con lo que el programa se habrá instalado en /usr/local/bin. Comprobémoslo:
pedro@servidor2:~/maniobras/stklos-1.10> ls -al /usr/local/bin/
Muestro las últimas líneas:
.... -rwxr-xr-x 1 root root 2374160 sep 12 2016 stklos -rwxr-xr-x 1 root root 4603 sep 12 2016 stklos-compile -rwxr-xr-x 1 root root 2350 sep 12 2016 stklos-config -rwxr-xr-x 1 root root 113799 sep 12 2016 stklos-genlex -rwxr-xr-x 1 root root 51589 sep 12 2016 stklos-pkg -rwxr-xr-x 1 root root 1099 sep 12 2016 stklos-script
Asegúrese de que tiene paso para ejecutar programas en /usr/local/bin. Para ello, introduzca:
pedro@servidor2:~/maniobras> echo $PATH /home/pedro/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
Observe que, en mi caso, yo lo tengo. Si no fuera así, escriba:
pedro@servidor2:~/maniobras> PATH=$PATH:/usr/local/bin
En un emulador de terminal (xterm, konsole, etc.), introduzca:
pedro@servidor2:~/maniobras> stklos * STklos version 1.10 * Copyright (C) 1999-2011 Erick Gallesio - Universite de Nice* * [Linux-4.1.27-27-default-x86_64/pthread/no-readline/utf8]
Si observa esto, o algo parecido, es que el intérprete se construyó bien. No obstante, para asegurarnos, hacemos unas cuantas pruebas:
stklos> (+ 1 2 3 4) 10 stklos> (expt 2 100) 1267650600228229401496703205376 stklos> (string-append "Cervantes " "escribió " "El Quijote.") "Cervantes escribió El Quijote."
es decir 1 + 2 + 3 + 4 = 10 y 2^100=1267650600228229401496703205376.
Salga del programa, entrando:
stklos> (exit)
o bien, pulsando la combinación Ctrl-D.
Una vez que tenemos instalado stklos, el intérprete de Lisp, y comprobado su buen funcionamiento, pasamos a hacer lo mismo con el programa.
Antes de seguir, decir que vamos a hacer una instalación local (no global), es decir, que Vd. instala el programa dentro de su propio espacio. Debe tener paso a su propio directorio bin. En mi caso:
pedro@servidor2:~/maniobras> echo $PATH /home/pedro/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
Observe que yo lo tengo, pues el paso /home/pedro/bin aparece. Como siempre, si no fuera así, escriba:
pedro@servidor2:~/maniobras> PATH=$PATH:~/bin
Descargue:
Abra un emulador de terminal, por ejemplo xterm, y sitúese en un directorio donde tenga permiso de escritura. Descomprima aquí el archivo descargado, introduciendo:
pedro@servidor2:~/maniobras> tar zxvf organiza.tgz
Liste el directorio:
pedro@servidor2:~/maniobras> ls -al total 64 drwxr-xr-x 2 pedro users 123 feb 14 12:45 . drwxr-xr-x 85 pedro users 4096 feb 14 12:33 .. -rw-r--r-- 1 pedro users 29439 feb 14 12:30 libreria-stklos-v2.stk lrwxrwxrwx 1 pedro users 12 feb 14 12:32 organiza -> organiza.stk -rw-r--r-- 1 pedro users 6613 feb 14 12:29 organiza-auxiliares.stk -rwxr-xr-x 1 pedro users 2664 feb 14 12:29 organiza.stk -rw-r--r-- 1 pedro users 10187 feb 14 12:32 organiza.tgz
Muévalos a su directorio personal de ejecutables, es decir:
pedro@servidor2:~/maniobras> mv libreria-stklos-v2.stk organiza organiza-auxiliares.stk organiza.stk ~/bin
y ya tiene instalado el programa.
Introduzca:
pedro@servidor2:~/maniobras> organiza
Debe aparecer en pantalla lo siguiente:
Uso: organiza [opciones] directorio Opciones: --informe, -i Muestra un informe en pantalla de los archivos repetidos --elimina, -d Elimina archivos repetidos --renombra, -r Renombra los archivos Parámetros: --comienzo=, -c Establece el número de comienzo en la renumeración --prefijo= , -p Prefijo en la numeración de los archivos Ayuda: --help, -h Muestra ayuda sobre la orden
Suponemos que Vd. sabe cómo pasar archivos de su móvil o tableta al ordenador. Lo habitual es que lo haga a través de Windows y como organiza es un programa de Linux, el único consejo que le puedo dar es que instale en su ordenador un sistema dual Windows-Linux (en ése orden), de forma tal que la partición de Windows sea visible en Linux, es decir, que desde Linux se pueda acceder a los archivos de Windows.
Es recomendable también que sepa manejar un navegador de archivos (NA). En Linux hay muchos, por ejemplo: dolphin, krusader, pcmanfm, etc. Aunque el programa organiza borra archivos duplicados, Vd. debe borrar los que considere irrelevantes, y para ello, la utilización de un NA es crucial. Los NA saben asociar programas al tipo de archivo, de forma tal que al estar situado en uno de ellos y pulsando enter, se abre el programa adecuado. Por ejemplo, si es una imagen, se muestra dicha imagen mediante un visor de imágenes; si es un vídeo, un reproductor de vídeo, etc.
Para los ejemplos que siguen, estoy situado en el directorio
pedro@servidor2:~/maniobras>
de mi espacio de trabajo, y aquí he copiado un conjunto de imágenes que quiero procesar con el programa organiza. Como ciertos actos no pueden deshacerse, voy a guardar una copia de seguridad en otro directorio, de nombre maniobras2. En fin, hacemos lo siguiente:
pedro@servidor2:~/maniobras> cd pedro@servidor2:~> mkdir maniobras2 pedro@servidor2:~> cd maniobras2/ pedro@servidor2:~/maniobras2> cp ~/maniobras/* . pedro@servidor2:~/maniobras2> cd ~/maniobras
Listamos el directorio (muestro el principio y final del listado):
pedro@servidor2:~/maniobras> ls -al total 96384 drwxr-xr-x 2 pedro users 28672 feb 14 13:31 . drwxr-xr-x 85 pedro users 4096 feb 15 11:18 .. -rw-r--r-- 1 pedro users 80802 oct 2 2016 IMG-20161002-WA0002.jpg -rw-r--r-- 1 pedro users 42669 oct 8 2016 IMG-20161008-WA0003.jpg -rw-r--r-- 1 pedro users 130950 oct 8 2016 IMG-20161008-WA0008.jpg -rw-r--r-- 1 pedro users 160976 oct 8 2016 IMG-20161008-WA0009.jpg ..... -rw-r--r-- 1 pedro users 371605 feb 23 2017 IMG-20170223-WA0009.jpg -rw-r--r-- 1 pedro users 121560 feb 24 2017 IMG-20170224-WA0000.jpg -rw-r--r-- 1 pedro users 158864 feb 24 2017 IMG-20170224-WA0001.jpg -rw-r--r-- 1 pedro users 185152 feb 24 2017 IMG-20170224-WA0002.jpg -rw-r--r-- 1 pedro users 185152 feb 24 2017 IMG-20170224-WA0003.jpg -rw-r--r-- 1 pedro users 112063 feb 25 2017 IMG-20170225-WA0000.jpg
Contamos el número de archivos:
pedro@servidor2:~/maniobras> ls -1 |wc -l 637
Es decir, 637 imágenes. Veamos los repetidos (opción -i). Entramos:
pedro@servidor2:~/maniobras> organiza -i . .... IMG-20170203-WA0012.jpg IMG-20170203-WA0014.jpg IMG-20170204-WA0003.jpg IMG-20170214-WA0002.jpg IMG-20170224-WA0001.jpg IMG-20170204-WA0004.jpg IMG-20170204-WA0005.jpg IMG-20170214-WA0003.jpg IMG-20170214-WA0004.jpg IMG-20170224-WA0002.jpg IMG-20170224-WA0003.jpg ....
Recordamos que el punto (.) es una abreviatura del shell (intérprete de órdenes) para indicar el directorio en el que me encuentro, en éste caso ~/maniobras. El listado es extenso. El archivo original se muestra en una línea separada del margen izquierdo con un tabulador y los repetidos (si los hay) con dos. Por ejemplo, el archivo IMG-20170203-WA0014.jpg no está repetido. Sin embargo, IMG-20170204-WA0003.jpg está repetido dos veces (sin contarlo a él), y el IMG-20170204-WA0004.jpg cinco veces.
Eliminamos los repetidos (opción -d). Entramos:
pedro@servidor2:~/maniobras> organiza -d . 218 archivos borrados
Comprobamos:
pedro@servidor2:~/maniobras> organiza -i . ... ...
Ya no hay repetidos.
Renombremos los archivos (opción -r). Puede utilizar dos variables con ésta opción, que son el prefijo -p (por defecto, Foto), y el número de comienzo (por defecto, 1). Veamos algunos ejemplos:
pedro@servidor2:~/maniobras> organiza -r . 419 archivos renombrados pedro@servidor2:~/maniobras> ls -1 Foto001.jpg Foto002.jpg Foto003.jpg Foto004.jpg .... Foto416.jpg Foto417.jpg Foto418.jpg Foto419.jpg
Si quiere cambiar el prefijo (parámetro -p):
pedro@servidor2:~/maniobras> organiza -r -p Imagen . 419 archivos renombrados pedro@servidor2:~/maniobras> ls -1 Imagen001.jpg Imagen002.jpg Imagen003.jpg Imagen004.jpg .... Imagen416.jpg Imagen417.jpg Imagen418.jpg Imagen419.jpg
O el comienzo de la numeración (parámetro -c):
pedro@servidor2:~/maniobras> organiza -r -c 200 . 419 archivos renombrados pedro@servidor2:~/maniobras> ls -1 Foto200.jpg Foto201.jpg Foto202.jpg Foto203.jpg .... Foto615.jpg Foto616.jpg Foto617.jpg Foto618.jpg
O ambas cosas a la vez:
pedro@servidor2:~/maniobras> organiza -r -p Aniversario -c 150 . 419 archivos renombrados pedro@servidor2:~/maniobras> ls -1 Aniversario150.jpg Aniversario151.jpg Aniversario152.jpg Aniversario153.jpg .... Aniversario565.jpg Aniversario566.jpg Aniversario567.jpg Aniversario568.jpg
Puede hacerlo todo junto. Para ello, necesitamos restaurar las imágenes iniciales que habíamos salvado en ~/maniobras2. Asegúrese que está situado en ~/maniobras (el prompt del sistema lo muestra, pero, por si las moscas):
pedro@servidor2:~/maniobras> pwd /home/pedro/maniobras
Lo borramos todo:
pedro@servidor2:~/maniobras> rm *
Restauramos desde ~/maniobras2:
pedro@servidor2:~/maniobras> cp ~/maniobras2/* .
Comprobamos:
pedro@servidor2:~/maniobras> ls -1 IMG-20161002-WA0002.jpg IMG-20161008-WA0003.jpg IMG-20161008-WA0008.jpg IMG-20161008-WA0009.jpg .... IMG-20170224-WA0001.jpg IMG-20170224-WA0002.jpg IMG-20170224-WA0003.jpg IMG-20170225-WA0000.jpg
Contamos:
pedro@servidor2:~/maniobras> ls -1 |wc -l 637
Aceptamos los valores por defecto, tanto del prefijo como del número de comienzo. Entramos:
pedro@servidor2:~/maniobras> organiza -dr . 218 archivos borrados 419 archivos renombrados
Si ha llegado hasta aquí, ha comprendido el funcionamiento del programa. Si quiere organizar sus fotos y vídeos tiene que utilizar más cosas. Por ejemplo, imagine la siguiente situación: tiene dos directorios, cada uno de ellos con un conjunto de imágenes, y quiere unificarlos, es decir, juntar los dos en uno, eliminando repetidos e irrelevantes. Se entiende por irrelevantes, aquellos que no desea conservar.
Los repetidos los elimina el programa organiza, pero los irrelevantes los tiene que eliminar Vd. Para conseguirlo, haga lo siguiente:
organiza -dr .
Con esto, ya no tenemos repetidos. Veamos cómo tratar los irrelevantes.organiza -dr .
Supongamos, que como consecuencia de esta orden, nos hemos quedado con 200 archivos (Foto001.jpg ... Foto200.jpg), sin repetidos ni irrelevantes.organiza -dr -c 201 .
Es decir, uno más que donde nos quedamos antes. Por tanto, en dir2, tenemos Foto201.jpg ...mv -i ~/dir2/* .
Es decir, mover todos los archivos que están en dir2 a dir1. No debe haber ningún conflicto con el movimiento de los archivos, puesto que hemos llevado cuidado con la numeración.organiza -dr .
y listo.Si desea hacer algún comentario, utilice la siguiente dirección de correo:
Pedro González Ruiz