typestar

Sustitución de procesos en Bash

La salida de un comando, haciendo las veces de archivo.

# <( ) deja que la salida de un comando haga las veces de un archivo
diff <(printf 'a\nb\nc\n') <(printf 'a\nx\nc\n') || true

# comm quiere archivos ordenados; la sustitución de procesos ordena al vuelo
comm -12 <(printf 'b\na\n' | sort) <(printf 'c\nb\n' | sort)

# tee divide un flujo: una copia sigue de largo, otra se guarda
tmp=$(mktemp)
seq 1 3 | tee "$tmp" | wc -l
rm "$tmp"

Cómo funciona

  1. <( ) le da a comandos como diff un stream con forma de archivo.
  2. comm recibe sus entradas ordenadas hechas a la medida.
  3. tee copia un stream a un archivo mientras sigue fluyendo.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
10
Caracteres a escribir
382
Tokens
52
Ritmo de tres estrellas
75 tpm

Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 42 segundos.

Escribe este fragmento

Paso 3 de 3 en Tuberías y redirección; paso 18 de 26 en Fundamentos del lenguaje.

← Anterior Siguiente →