Pregunta 1¿En qué se diferencia printf de echo?
Salida con formato — printf
A diferencia de echo, printf no añade un salto de línea al final, así que escribes \n tú mismo. Aprende a insertar valores con %s/%d, alinear columnas con \t y crear archivos de varias líneas, todo práctico en una terminal del navegador.
En qué se diferencia printf de echo — sin salto de línea automático
printf imprime texto igual que echo, pero a diferencia de echo no añade un salto de línea al final automáticamente.
Escribes \n tú mismo dondequiera que necesites un salto de línea.
Como puedes construir la salida exactamente como la quieres, también va bien para crear archivos de varias líneas.
printf 'hello\n' imprime hello y un salto de línea.
Omite \n y la siguiente salida continúa en la misma línea.
Escríbelo como printf 'a\nb\nc\n' > file y creas directamente un archivo de 3 líneas.
echo añade un salto de línea al final automáticamente; printf salta de línea solo donde escribes \n.echo hello # hello + salto de línea automático
printf 'hello\n' # hello + el salto de línea que escribiste
printf 'a\nb\nc\n' > letters.txt # crear un archivo de 3 líneas
cat letters.txt # las 3 líneas a / b / c
| Cómo escribirlo | Salto de línea al final | Resultado |
|---|---|---|
echo 'hi' | Se añade automáticamente | hi + salto de línea |
printf 'hi' | No se añade | solo hi (sin salto de línea) |
printf 'hi\n' | No se añade | hi + salto de línea porque escribiste \n |
Insertar valores y alinear columnas — %s %d \t
Escribe %s (cadena) o %d (entero) en el formato, y los valores que enumeras después se insertan en esos sitios.
printf 'name=%s\n' alice imprime name=alice.
Va mejor que una simple concatenación con echo para encajar valores en una forma fija.
\t es una tabulación, que se usa cuando quieres alinear columnas.
El formato se aplica de forma repetida, una vez por cada conjunto de valores que sigue.
Imprime un encabezado y los datos cada uno en un formato separado por tabulaciones, como printf '%s\t%d\n' alice 30, y las columnas quedan alineadas.
%s inserta una cadena, %d un entero y \t alinea columnas con una tabulación.printf 'name=%s\n' alice # name=alice
printf '%s\t%s\n' name age # el encabezado, separado por tabulaciones
printf '%s\t%d\n' alice 30 # una fila de datos, alineada
| Símbolo | Significado | Ejemplo → salida |
|---|---|---|
%s | Insertar una cadena | printf '%s\n' hi → hi |
%d | Insertar un entero | printf '%d\n' 42 → 42 |
\t | Tabulación (alineación de columnas) | printf 'a\tb\n' → a + tabulación + b |
\n | Salto de línea | printf 'x\n' → x + salto de línea |
Verificación de conocimientos
Responde cada pregunta una a una.
Pregunta 2¿Qué imprime printf 'name=%s\n' alice?
Pregunta 3¿Qué representa \t?