Escribir dentro de archivos
Clase 31 de 43 • Curso de Programación en Bash Shell
Contenido del curso
Programación Shell Básica
Script Interactivos
Condicionales
Iteración
Archivos
Empaquetamiento
Funciones
Cierre del curso
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.