Sistemas operativos UNIX/Linux. Shell y utilidades básicas

Supongamos que tenemos un archivo llamado «datos.txt» que contiene una lista de nombres de  personas, uno por línea. Queremos buscar todos los nombres que contienen la letra «a» en el  archivo, mostrarlos en la pantalla y guardarlos en un nuevo archivo llamado «nombres_con_a.txt».  ¿Cuál de las siguientes opciones muestra la sintaxis correcta de la línea de comandos para lograr  esto?: -> grep «a» datos.txt | tee nombres_con_a.txt

Porque el enunciado pide dos cosas simultáneamente:

  1. ✅ Mostrar los resultados por pantalla.
  2. ✅ Guardarlos en un fichero.

El comando tee hace exactamente eso:

  • escribe la salida en el archivo indicado;
  • y simultáneamente la envía a la salida estándar (pantalla).
grep "a" datos.txt | tee nombres_con_a.txt

Esquema para el examen

grep

Busca texto.

grep "texto" fichero

tee

Duplica la salida.

comando | tee fichero

  • pantalla
  • fichero

No confundir

>

Redirige solo al fichero.


>>

Añade al fichero.


|

Pasa la salida al siguiente comando.


tee

Envía la salida:

  • al fichero
  • y a la pantalla.

Truco para recordar

tee

Como una T.

Una entrada.

Dos salidas.

          pantalla
             ↑
             │
comando ── tee
             │
             ↓
          fichero