Combinación de comandos útiles para Linux
En este post voy a ir agregando comandos útiles que vamos encontrando entre los conocidos (y los que aporten), que permiten realizar tareas desde la consola sin tener que recurrir a programas sofisticados.
Confirmar todas las acciones que pregunte un programa interactivo.
$ yes | programa |
devuelve una «y» cada vez que el programa quiere leer de la entrada estandar
$ yes s | programa |
devuelve una «s» cada vez que el programa quiere leer de la entrada estandar
Encontrar archivos duplicados y conservar uno.
$ yes 1 | fdupes -d ./ |
fdupes encuentra mediante md5 archivos duplicados en la carpeta indicada. El parámetro d, le dice que borre el resto conservando el que le indiquemos. Mediante «yes 1» le decimos que conserve el primero que encuentra. Cuidado con md5 ;-).
Generar un PDF con varias páginas en una sola partiendo de otro PDF.
$ pdfnup salida.pdf --nup 2x5 --orient portrait --frame true |
Dai me contó acerca de una aplicación llamada pdfnup. Permite hacer lo que uno quiera con un PDF, como recortarlo (cortarle los márgenes excesivos), agrupar en disposición de tabla varias páginas dentro de cada una (para poder imprimir por ejemplo 2×3 páginas or carilla). Tiene muchas opciones, pero a la vez configuradas por defecto para no necesitar agregar muchas cosas. El archivo de salida se llamará igual que el de entrada más la disposición, por ejemplo «salida-2×5.pdf».
Recortar varias imágenes y convertirlas en PDF (una por página).
$ convert -crop '750x350+110+200' +repage resp?/*.png salida.pdf |
convert es una de las aplicaciones de ImageMagick. Conserva los originales, permitiendo mientras convertimos de formato, modificarle brillo, contraste, recortarla, rotarla, y muchos etcéteras. Si quisieramos que convierta cada imagen en un archivo separado, bastaría con combinarlo con
$ find ./ -iname '*.png' -exec convert '{}' '{}.pdf' ';' |
donde {} representa el nombre del archivo y ‘;’ finaliza el comando.