DEV Community

alejandro mestizo
alejandro mestizo

Posted on • Edited on

La magia de un buen script: pequeños comandos, grandes resultados

Una vez escribí un script de 6 líneas que me ahorró... no te miento, dos semanas de trabajo manual. Solo 6 líneas. Y fue en Bash.

Lo gracioso es que me tomó más tiempo encontrar el archivo que necesitaba automatizar que escribir el bendito script. You’d think que a esta altura uno tendría sus cosas organizadas... pero bueno. Así arranca esta historia.

Botanicadelamor

¿Qué es un script? (como si lo explicaras en una birra)

Imaginate que todos los días abrís tu compu, limpiás una carpeta, copiás unos archivos, los comprimís y los subís a Drive. Ahora... ¿y si en lugar de hacer eso a mano cada día, lo hacés una vez, lo guardás como un comando y listo?

Eso, mi amigo/a, es un script.

Y sí, hay magia en eso. Lo juro. Aunque no sea magia tipo Amarres De Amor Andersonville igual tiene su toque místico. Porque ver algo repetitivo convertirse en automático... wow.

Cinco cositas que me cambiaron la vida (digital)

  • find
  • awk
  • sed
  • cron
  • y bash functions

Suena técnico, pero te explico sin rodeos:

1. find: como un sabueso digital

find . -name "*.log" -mtime +30 -delete
Enter fullscreen mode Exit fullscreen mode

Este comando busca todos los .log de más de 30 días... y los borra. Just like that. ¿Cuántas veces limpiaste tu carpeta de descargas a mano? Right?

2. awk: el ninja del texto

awk -F ',' '{print $1, $3}' data.csv
Enter fullscreen mode Exit fullscreen mode

Sacás columnas específicas de un CSV. A mí me salvó cuando tenía que pasar datos a un proveedor que solo quería nombres y teléfonos. Casi me vuelvo loco, hasta que encontré awk.

3. sed: buscá y reemplazá, pero nivel hacker

sed -i 's/localhost/production.server/g' config.yaml
Enter fullscreen mode Exit fullscreen mode

¡Boom! Cambiás todos los “localhost” a “production.server” sin abrir el archivo. Parece brujería tipo Hechizos de amor Andersonville pero es solo sed haciendo lo suyo.

4. cron: tu robot programado

0 8 * * * /home/usuario/scripts/respaldo.sh
Enter fullscreen mode Exit fullscreen mode

Este lo uso para hacer backups diarios automáticos. A las 8 am, sin que nadie le diga nada, corre el script. Es como tener un asistente puntual y callado. Un mini-milagro diario.

5. bash functions: nivel intermedio, pero worth it

function limpiar_temp() {
  find /tmp -type f -name '*.tmp' -delete
}
Enter fullscreen mode Exit fullscreen mode

Definís funciones que podés usar como comandos personalizados. Es decir, hacés tus propios hechizos. (No, no como en la Lectura del tarot en Andersonville pero ya sabés por dónde va la cosa.)

¿Y por qué te conviene tener estos truquitos?

  • Te ahorrás horas de trabajo repetitivo (y de estrés mental).
  • Impresionás a tu jefe o colegas con soluciones “mágicas”.
  • Aprendés a automatizar y eso te hace más libre, literal.
  • Tus procesos se vuelven menos propensos a errores humanos.
  • Te sentís... poderoso. Sí, lo dije.

Bonus: mi script favorito (el del principio)

#!/bin/bash
# Script para organizar archivos por tipo

mkdir -p imagenes documentos otros

for archivo in *; do
  case "$archivo" in
    *.jpg|*.png) mv "$archivo" imagenes/ ;;
    *.pdf|*.docx) mv "$archivo" documentos/ ;;
    *) mv "$archivo" otros/ ;;
  esac
done
Enter fullscreen mode Exit fullscreen mode

Lo tenía corriendo todos los viernes por la tarde. Llegaba el fin de semana con el escritorio limpio. Es como barrer la casa sin mover un dedo.

Cierre informal (pero con cariño)

Si nunca escribiste un script, este es tu empujoncito. No necesitás saber programar en serio. Solo tener un problema repetitivo y ganas de resolverlo una vez… y para siempre.

Pruébalo esta semana, ¡ya verás!

Y si no te sale a la primera… no pasa nada. Hasta los hechiceros practican antes de invocar bien.

Top comments (0)