Mostrando entradas con la etiqueta rename. Mostrar todas las entradas
Mostrando entradas con la etiqueta rename. Mostrar todas las entradas

lunes, 12 de noviembre de 2012

Conversión CBR a PDF. El poder del terminal de Linux

Para aquellos que no creen en el poder -y la comodidad- del terminal de Linux, vamos a poner un ejemplo. Como ya habíamos dicho, mi interés por la "tablet "Nexus 7 nace en la necesidad de leer cómodamente los libros científicos con fotos y formulas; secundariamente, podemos leer también comics. En la Nexus uso de lector Aldiko, que no lee los CBR (Comic Book Rar). Aunque no fuera así, rar es un formato privativo, así que es mejor cambiarlo; idealmente deberíamos pasarlo a djvu, pero para poder leerlos en cualquier dispositivo, la transformación más sencilla es a PDF. Lo podemos hacer de forma gráfica.
1. Descomprimir los CBR a las imágenes JPG que los compone
2. Convertir los jpg en PDF
3. Borrar el CBR

Como es natural, eso es muy cómodo para hacer uno, pero para hacer 210, como era mi intención, es muy cansado; cuando llevas 10 ya no puedes más. La solución, el terminal. El que hice (cbr2pdf v.0.1Alpha) era bastante deficiente, por lo que hckorootx lo ha mejorado muchas veces (sustituyendo el rename por una versión de mv que sirva para todas las distribuciones) hasta llegar a la versión 0.7RC, que podemos pasar a 1.0 stable.
El script es así

#!/bin/bash

# Cambio de espacios por guiones bajos en todos los .cbr
for fichero_cbr in *.cbr; do
        if [[ "$fichero_cbr" != "${fichero_cbr// /_}" ]]; then
                mv "$fichero_cbr" "${fichero_cbr// /_}"
        fi
done

# Descompresión, cambio de .JPG a .jpg (si es que hay .JPG) y conversión a PDF
for fichero_cbr in *.cbr; do
        unrar e $fichero_cbr
        for fichero_JPG in *.JPG; do
                mv "$fichero_JPG" "${fichero_JPG//.JPG/.jpg}" 2> /dev/null
        done
        convert *.jpg "${fichero_cbr//.cbr/.pdf}"
        rm $fichero_cbr
        rm *.jpg
done

# Fin del script


El resultado es este:





Este es solo una muestra con solo 10 ejemplares de un famoso comic nacional. Los 210 tardaron solo 10 minutos. Este es un ejemplo del poder del terminal.

jueves, 4 de octubre de 2012

Linux y rename ¿cuál de ellos?

Estos días hemos estado escribiendo, sobre todo mi amigo hckorootx, un script para transformar los cómics cbr (Comic Book Rar) a pdf. El por qué ya lo diremos en alguna otra entrada. Lo interesante que hemos descubierto al escribir el script es que bajo la orden rename, Linux no responde igual bajo la distribución Lubuntu  que con Fedora. Un script que funciona perfectamente en Lubuntu muestra este error en Fedora:



Esto nos sorprendió. rename es un script en Perl, pero ¿por qué funciona en el ordenador de un usuario y no en el del otro?
La respuesta la podemos encontrar aquí. Simplemente, Debian y sus derivados usan un script diferente a los demás.
Esto genera un problema, los scripts podrían funcionar o no según la distribución empleada. En resumen, los scripts de bash no deben incluir rename.
Por suerte, hckorootx lo ha sustituido por mv y el script ha quedado perfecto. Lo pondremos en otra entrada.