Escribir dentro de archivos

Clase 31 de 43Curso de Programación en Bash Shell

Resumen

Escribe de forma rápida y segura en archivos desde Bash sin abrir un editor. Aquí verás dos métodos prácticos con comando eco y comando concat, cómo usar argumentos para pasar el archivo y el contenido, y un ejemplo simple para validar la salida. Todo con un enfoque directo y útil.

¿Cómo escribir en un archivo en bash sin abrir un editor?

Para automatizar tareas, es clave generar contenido de archivo desde un script. Se proponen dos rutas: con el comando eco y con el comando concat. Ambas permiten escribir sin abrir el editor Bing en el servidor de Ubuntu.

  • Usa argumentos: el archivo destino como primer argumento y el texto como segundo argumento.
  • Con eco, redirige la salida estándar hacia el archivo.
  • Con concat, habilita una edición multilínea usando una “palabra reservada” de cierre, por ejemplo EOM.

¿Cómo se ve el script con eco y concat?

#!/usr/bin/env bash # uso: ./write_file.sh <archivo> <texto> # 1) Escribir una línea con el comando eco. echo "valores escritos con el comando eco" > "$1" # 2) Edición multilínea con el comando concat y un delimitador. concat <<EOM >> "$1" $2 EOM
  • Línea 1: escribe una frase fija con eco en el archivo del argumento 1.
  • Bloque concat: captura varias líneas hasta repetir EOM y las agrega al mismo archivo.

¿Qué diferencia hay entre eco y concat para escribir archivos?

Ambos permiten escribir, pero su enfoque cambia.

  • eco: imprime en la salida estándar y, con redirección, escribe en archivo. Ideal para una línea.
  • concat: además de mostrar contenido, puede producir texto multilínea mediante un delimitador como EOM. Útil para bloques.
  • Resultado esperado: primera línea escrita con eco y segunda con concat, en el mismo archivo.

Puntos clave que aparecen y se practican:

  • Argumentos: $1 es el archivo destino, $2 el contenido a escribir.
  • Edición multilínea: concat con EOM para cerrar el bloque.
  • Verificación: leer el archivo con concat para confirmar el resultado.

¿Cómo pasar argumentos y validar con prueba.txt?

La ejecución toma dos argumentos: primero el archivo y luego el texto.

  • Archivo destino: prueba.txt.
  • Texto de ejemplo: “imprimiendo concat, añadiendo valores concat”.

Ejemplo de ejecución:

./write_file.sh prueba.txt "imprimiendo concat, añadiendo valores concat"

Validación del contenido:

concat prueba.txt

Salida esperada en dos líneas:

  • valores escritos con el comando eco.
  • valores escritos con el comando concat.

Habilidades y conceptos que refuerzas:

  • Escritura de archivos sin editor desde Bash.
  • Uso de argumentos para controlar archivo y contenido.
  • Redirección de salida y bloques multilínea con delimitador EOM.
  • Lectura de verificación con concat para confirmar lo escrito.

¿Tienes dudas o quieres compartir tu variación del script? Comenta cómo lo adaptarías a tu flujo de trabajo.