No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Redirecciones: pipe operator

9/23
Recursos

Pipe operator es un operador que permite tomar la salida de un comando y pasarla como entrada de otro comando. Aprendamos más comandos que te van a ayudar.

Comandos de pipe operator

Unir cadenas de texto (cat)

Si queremos crear una lista de los archivos de varias carpetas, podemos usar cat para concatenar la salida de varios de ellos.

Por ejemplo, vamos a crear uno que tenga la lista de los archivos contenidos en la carpeta "Images" y "SecretosDeEstado".

image.png

Crear un archivo con base en una salida (tee)

Si queremos guardar la lista creada anteriormente, podemos pasar esa salida por medio de un pipe operator al comando tee, el cual creará un archivo con esa salida.

cat images.txt secretosDeEstado.txt | tee archivos.txt

image.png

De momento parece lo mismo, pero si inspeccionamos el archivo "archivos.txt" veremos esto:

image.png

Por cierto, para ver los archivos usa el comando head , para que puedas ver la línea de comandos. Para inspeccionar archivos el comando less es mucho más efectivo.

Organizar archivos con sort

Puede ser algo complicado encontrar un archivo dentro de la lista, por lo que lo podemos organizar alfabéticamente una salida con el comando sort.

ls | sort | tee archivosHome.txt

image.png

Aquí lo que estamos haciendo es:

  • Listar los archivos
  • Organizar los archivos
  • Crear un archivo llamado archivosHome.txt, con las salidas anteriores

Tabla de comandos pipe operator

| Comando | Función | | --- | --- | | sort | Organiza allfabéticamente una salida | | cat | Concatena dos entradas | | tee | Crea un archivo en base a una entrada |

Contribución creada con los aportes de: Miguel Gonzalez.

Aportes 478

Preguntas 110

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

¡Los pipe operators de Linux son de lo mejor! En serio puedes hacer cosas muy increíbles con ellos. Por ejemplo, yo llegué a hacer un comando super poderoso que me consultaba todos los archivos que tenía guardados en Amazon S3 y me los ponía en varias líneas ordenaditos (porque Amazon te los devuelve con demasiada información desordenada), es más aquí se los enseño (no te asustes por esto, es algo un poquito avanzado, pero quiero que veas cómo usando pipe operators puedes hacer cosas increíbles):

aws s3 ls s3://$BUCKET --recursive | awk '{print $4}' | awk -F/ '{print $NF}'

Aquí uso el comando awk (uno de los comandos que ya te expliqué en otra clase 👀). Claro, no necesitas llegar a hacer cosas complejas para usar pipe operators, puedes hacer cosas sencillas, por ejemplo, buscar tus paquetes instalados en tu computadora y filtrar por alguno específico:
.

.
En este caso, el comando dpkg --get-selections te dice qué paquetes tienes instalados en Ubuntu, y el comando grep hace el filtro (little spoiler, lo verás más a profundida más adelante) 👀.
.
¡Pero imagina todo lo que puedes hacer con el pipe operator! Lo mejor es que si logras dominarlo, aprenderás a automatizar procesos en la terminal 💚.

🐱‍💻 El pipe operator permite enviar la salida de un comando como entrada del siguiente.

Redirecciones: pipe operator.

  • Es uno de los operadores mas útiles que existen, ya que nos permite poner varios comandos, tales que la salida de uno es la entrada del siguiente 📤.
  • echo <texto> genera un stdout con el texto que tenemos.
  • cat <archivo1> <archivo2> muestra los dos archivos concatenados 💩.
  • El pipe operator | hace que el stdout de un comando sea el stdin de otro comando. Por ejemplo ls -lh | less
  • tee hace algo parecido a >, pero dentro de los pipe´s, por ejemplo ls -lh | tee output.txt |less . Se puede poner en medio, pero se ignora porque se sigue pasando.
  • cowsay "Texto" es un comando que imprime una vaca que dice algo JAJAJAJAJ 🐮.
_________________________
< Nunca pares de aprender >
 -------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
  • echo "Texto" | lolcat esto lo imprime con colores bonitos 😂.

Pipe operator |

💡Los filtros son el procesos de tomar una entrada de flujo y, realizando una conversión, es mandado a la salida de otro stream.
.
Definición

Un pipeline sirve en la construcción de comandos para generar filtros.

.
Pipeline stdout a stdin

Usamos el operado pipe | entre dos comando para direccionar el stdout del primero con el stdin del segundo. Cualquier comando, entre pipes, puede tener opciones o argumentos para construir filtros complejos.

Una de las ventajas de los pipes, en Linux y UNIX, es de que pueden variar y generar salidas intermedias de diferentes procesos, generando todo un trace de flujo de información.

Hola

Como estuvieron comentando algunos compañeros, si queremos ver la lista de los dibujos que podemos generar dentro de la terminal tenemos que hacer lo siguiente:

También, aprovecho para compartirles algunos dibujos:

Espero que se diviertan así como yo también lo hice!

Saludos

Prueben esto para darle animación:

cowsay -f dragon-and-cow “Like si te quedaste jugando con lolcat un rato!” | lolcat -F 12 -d 5 -a

Si te interesa el procesamiento paralelo para mejorar tus algoritmos y pasar parámetros de manera automatizada, el uso del pipe “|” y del ampersan “&” se volverán más poderosos que Superman XD!!!
.
Ejemplo: competir que algoritmo es más rápido o eficaz:

>  python3 algoritmo_1.py $(cat datos.txt) & python3 algoritmo_2.py $(cat datos.txt) & 

.
Como ya vimos, el “&” al final de un comando crea un hilo por cada comando separado por un “&” y veríamos que programa termina primero, MUY INTEREZANTE.

Vamos viendo que tal ✌️😁

Sin duda el pipe operator (|) es una gran herramienta y puedes hacer grandes cosas.
En mi trabajo se llegan a monitorear servicios de transacciones que se ejecutan en un Banco. Pero estos LOGs, luego llegan a pesar mucho, ya que se registra la información de todos los días, así que al descargarlos tarda mucho. Y si solo quiero extraer la información de cierto día, ejecuto un comando para obtener el número de línea donde se encuentra la información que quiero, y de ahí solo extrer la información necesaria y pasarla a un archivo. Este archivo que se crea pesa menos que el archivo original.

Aplicando lo aprendido:

un verso:

8. Redirecciones: pipe operator

Les comparto los comandos aprendidos en clase:

Como dato interesante a tener en cuenta, en la terminal tenemos head, tail y se refiere a las partes del gato, siendo la cabeza y la cola, pero si queremos ver “todo el gato” es decir, todo el contenido usamos cat. Cosas curiosas de Linux 😃.

  1. ls -lh | less : Mediante el pipe operator cambié el output del archivo hacia el comando less .
  2. ls -lh | tee output.txt | less : Lo que hace este comando es redireccionar el output del ls hacia un archivo output y luego mostrarlo con less.

Finalmente si queremos usar lolcat y cowsay, y no los tienes debes instalarlos con:

sudo apt install lolcat
sudo apt install coway

¡Esta clase me pareció divertida! Me ayuda a perderle un poco el miedo a la Terminal.
![Mi vaquita de colores](

Me siento perdida en la clase, la comunidad y el investigar me ha ayudado a entender. Pero recomendaria al profe que usaramos archivos sin tantos documentos adentro para que podamos ver mejor las cosas cuando las concatenamos a veces el se mueve de un archivo a otro y uno no sabe que fue lo que hizo. De todas formas quiero agregar que el curso me ha gustado y he aprendido mucho!

Aquí te enseño que es realmente un pipe operator de manera fácil y concisa y con un ejemplo que entenderás a la primera.

Un pipe operator de acuerdo a su nombre sería un tubo (me gusta verlo mas como un puente) para conectar funciones. En esta clase el profe enseña esto pero con dos funciones que no permiten entenderlo del todo bien y tampoco a la primera, como soy docente pensé que muchos necesitarian una forma mas clara para entederlo. Con un ejemplo mejor, aquí está:

ls es un comando que nos sirve para mostrar una lista de los archivos y directorios.
De modo tal que si hacemos ls estando en home, este comando nos va mostrar la lista de los archivos y directorios (carpetas) ejemplo:

ls
Midirectorio index.html nombres.txt error.txt output.txt

sort es un comando que nos permite ordenar alfabeticamente las lineas de archivos de texto.
De modo tal que si tenemos una archivo de texto llamado nombres con los siguientes nombres(cada uno en una línea): Carlos Maria Andrés. y aplicamos el comando sort, sucederá lo siguiente

sort nombres.txt
Andres
Carlos
Maria

Sí, como te diste cuenta los ordenó alfabeticamente.
Y entonces para que se usa el Pipe operator?
Un pipe operator toma los resultados o datos (output) obtenidos de la ejecución de un primer comando para que el segundo comando los use como entrada (input) al ejecutar su proceso y entonces la ejecución de ese segundo comando se hace sobre el resultado (output) del primero.

Por ejemplo si quisieramos ver los directorios y archivos de nuestro home de manera ordenada alfabeticamente tendriamos que hacer lo siguiente.

ls | sort

y de este modo obtendriamos lo siguiente:

ls | sort
Midirectorio
error.txt
index.html
nombres.txt
output.txt

Lo que sucedió aquí es que tomamos el resultado del primer comando :ls (la lista de nombres de directorios y archivos) y a ésta, se ejecutó el proceso del segundo comando: sort. Y como resultado obtuvimos nuestra lista de home organizada alfabeticamente
(la terminal toma las letras mayusculas como prioridad, es por esto que “Midirectorio” está en primer lugar)

Esta vista ordenada de archivos y directorios en home fue posible gracias al pipe operator ya que recordemos que sort es un comando que si se ejecuta solo (sin un pipe operator), funcionará unicamente con archivos de texto.

El comando 'apt-get ’ está diseñado para instalar paquetes en sistemas Linux. Homebrew es el equivalente para la Mac. Es el administrador de paquetes que la mayoría de las personas se sienten cómodos con su uso. Homebrew instala paquetes en su propio directorio y luego, simbólicamente, vincula sus archivos a / user / local . Puede instalar homebrew y ejecutar el comando para instalar paquetes siguiendo los pasos a continuación:

  • Mantenga presionada la tecla Comando y presione la barra espaciadora para abrir Spotlight, luego escriba Terminal y Entrar.

  • Primero, necesita instalar la herramienta de línea de comandos Xcode usando el siguiente comando

xcode-select--install
  • Después de la instalación de la herramienta Xcode, ahora escriba / copie el siguiente comando para instalar Homebrew en macOS:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

El comando se obtuvo de la pagina oficial de Homebrew (https://brew.sh/index_es)

  • Ahora, utilizando Homebrew , escriba el siguiente comando para instalar cualquier paquete que desee instalar
    brew install nombreDelPaquete

  • Una vez instalado el Homebrew ejecutar los comandos

brew install cowsay
brew install lolcat

LEWD

no es el mejor aporte pero me gusto

repeat 5 {cowsay "texto" | lolcat}

Con cowsay -l pueden ver todos los dibujos disponibles

Hola chicos(as), Aqui les dejo un video de refuerzo para que puedan entender mejor que son y para que sirven los PIPES OPERATOR.
Con este video pude entenderlo mucho mejor. Espero les sirva.
https://www.youtube.com/watch?v=YmcS_ns_z3Y

El comando :

cowsay 

Sin duda ha valido completamente el curso

Compañeros les dejo unos comandos cheveres para el lolcat, figlet y cowsay:
lolcat = colorear texto
lolcat -a -d 100 = colorear en tiempo real (100 es el tiempo)
-s = velocidad de animación “max: 20”
-p = difusión de colores
-a = Animar el texto
-d = duración "por defecto 12 "
-f = frecuencia “max:3”

figlet = permite reconocer signos del teclado
figlet mensaje = dibuja tu mensaje en grande

cowsay = Dibujar en la terminal
cowsay -l = mostrar lista de dibujos
cowsay -f dibujo =mensaje personalizado

Que utiles los Pipe operators en la terminal, pueden tener muchísima utilidad como los antes mencionados por los compañeros. Yo por mi parte les dejo algo un poco menos útil pero que puede ser tremendamente divertido.

Primero que nada conseguí este programa llamado figlet que transforma un texto en un arte ASCII. Para instalarlo debes hacer:

apt-get install figlet

Una vez instalado figlet podemos comenzar a jugar con él, cowsay y lolcat.

Por ejemplo:

$ figlet Platzi | cowsay -f '/usr/share/cowsay/cows/tux.cow' -n | lolcat

figlet toma mi texto Platzi y lo transforma a ASCII, luego lo paso a cowsay con las siguientes flags:

  • f = con el puedes cambiar como se ve la vaca hay diferentes tipos para escoger. Los puedes revisar todos en la dirección ‘/usr/share/cowsay/cows’ acá estarán las diferentes versiones que puedes utilizar.
  • n = También se le paso el flag -n esto debido a que por defecto la vaca hace un wrap del texto que le pasas en 40 caracteres, si no colocamos este flag el arte ASCII no se apreciará.

    Por último el resultado de este programa se pasa por lolcat para que le agreguemos color y tenemos como resultado:



Espero que te diviertas tanto como yo haciendo esto.

me estoy sintiendo un poco frustrada con estas clases, es como que entiendo y a la vez no 😦

Pipe operators

  • Hacer que el output sea el proximo input

  • ls -lh Pictures | sort | tee pictures.txt | less

  • Lista a nivel humano el contenido de Pictures, luego lo ordena, luego lo ingresa en pictures.txt, luego lo ve en la terminal

  • cowsay “Hello, I’m a cow” | lolcat

  • Hace que una vaca hable y luego transforma el texto en un arcoiris

  • echo: genera un standard output del string que escribamos

  • cat: concatena por ejemplo dos archivos de texto

  • Generalmente los comandos que nos muestran texto - redireccionan un standard input

  • cat archivo.txt = cat < archivo.txt

  • tee: cumple la función de redirección hacia un archivo

  • sort: comando que ordena

  • cowsay: muestra un texto con una vaquita

  • echo “Hola Platzi” | lolcat

Esta clase si me gusto y pude hacerlo todo. Pero recomiendo mucho que las personas que tengan Mac hagan primero las primeras clases de Curso de Prework: Configuración de Entorno de Desarrollo en macOS

ese curso me hizo sentir más confiada de trabajar con mi mac y me ayudo mucho a entender la terminal de Mac.

¡Belive!

Lo logré
https://rootear.com/ubuntu-linux/lolcat

cowsay -f elephant "Mi primera vez" | lolcat

Hola a todos, para los que se sienten muy perdidos con este tema, aca les dejo un link en donde me aclararon el concepto de pipes.
https://codigofacilito.com/articulos/pipes

Utiliza el siguiente comando para “leer tu fortuna”

fortune | cowsay

Cuando intentas entender la terminal

La terminal :

Nice

Un poco de diversión en la clase 😂😂

Que buen curso estoy tomando xd

Para quienes les sale error al momento de instalar “cowsay”, traten actualizar primero los paquetes de Ubuntu:

descargan los paquetes:

sudo apt-get update

instalan los paquetes:

sudo apt update

e intentan nuevamente instalar cowsay:

sudo apt install cowsay

Ya hace 2 módulos atrás que me vengo mareando un poco con los términos. Hago el mejor esfuerzo repasando las mismas clases pero creo que deben mejorar un poco las explicaciones. Teniendo en cuenta que es un curso introductorio, hay términos o conceptos que dan por sentado que nosotros lo sabemos cuando no es así.

A estudiar amigos n.n

![](

Si algún usuario de MacOS tuvo el mismo problema que yo, les dejo la combinación de teclas para invocar el “pipe operator” (or) en el teclado Mac, ya que me fue difícil encontrar la información en internet. En mi caso, usando Mojave la combinación fue:

“Alt (option) + 1”

y listo!

|||||||||||||||||||||||||||||||||||||||||

Para el que necesite el símbolo | y no sepa cómo sacarlo, usar Alt + 124

con esto, quiero agradecer a la comunidad de Platzi que me ayudaron en la frustracion que causa este curso

Recuerdo el uso del comando TEE por este accesorio sanitario llamado TEE:

.

En el ejemplo:

ls -lh | tee output.txt | less

Imagino que la abertura de la izquierda es lo que lee el comando TEE, la de abajo es la que escribe dentro del archivo de texto; y la de la derecha, la que manda al comando LESS (si no hay comando a la derecha lo manda a la consola)

Tenia que hacerlo también, Pero con aportes de algunos compañeros puede hacer una variante para mostrar este elefante :p



Para crear figuras aleatorias: 😃
Solo descargan lo necesario y listo.

cowsay -f "$(ls /usr/share/cowsay/cows/ | sort -R | head -1)" "$(fortune -s)"
  • echo: genera un estandar output
  • cat: concatenar la salida de archivos
    Pipe operator nos va a permitir que el estandar output se convierta en el estandar input de otro comando con este simbolo |
  • tee hace lo mismo que la redireccion mayor que
  • sort para ordenar
  • cowsay nos muestra una vaquita
  • lolcat cambia cualquier texto de color

Ya que la sensación de esta clase fue cowsay y el
lolcat en vez del pipe operator, también me subo a ese tren.

Clase 8 – Redirecciones: pipe operator


¿Para qué nos sirve el Pipe operator?

  • Nos permite tomar la salida de un comando y pasarla como entrada a otro comando.

¿Para qué sirve el comando echo?

  • Para imprimir en pantalla un mensaje.

¿Cómo es la sintaxis del comando echo?

  • Echo “mensaje”

¿Para qué nos sirve el comando cat?

  • Para concatenar o unir el contenido de dos o varios archivos al mismo tiempo.

¿La redirección input es comúnmente usada?

  • No, esta solo se usa en casos concretos.

¿Cuál es el símbolo que simboliza al pipe operator?

  • |

¿Cuál es la diferencia entre el pipe operator y la redirección?

  • Con el pipe operator podemos únicamente pasar temporalmente el standart outputa como standart input, mientras que con la redirección podemos guardar el resultado en un archivo.

¿Cómo podemos guardar el resultado de un pipe operator?

  • Usando el comando tee.

¿Cuál sería la sintaxis de un pipe operator y el comando tee?

  • Comando instrucción | tee nombre archivo | comando

¿Para qué nos sirve el comando sort?

  • Para organizar alfabéticamente el resultado de usar un comando como ls.

¿Para qué nos sirve el comando cowsay?

  • Nos sirve para imprimir un mensaje con una vaca dibujada.

¿Para qué nos sirve el comando lolcat?

  • Para imprimir un mensaje de diferentes colores cada vez que lo ejecutemos.

¿Existen ocasiones en las que el pipe operator y el comando tee no podrán guardar de manera correcta el estándar output en un archivo?

  • Sí.

¿Por qué tee y no touch?
Quizas para algunos es claro pero para otr@s puede que no,
es fácil y lo entiendo de la siguiente manera.

  • Con tee creas un archivo y guardas lo que recibe in Input.
  • Con touch creas el archivo solo creas el archivo y no puedes guardar el input que recibe al tiempo.

Para instalar cowsay en Mac:

brew install cowsay

el comando sl (steam locomotion), genera un tren que cruza la terminal

sl

`


< You’re a great programmer >

     \     ,-.      .-,
      \    |-.\ __ /.-|
       \   \  `    `  /
            /_     _ \
          <  _`q  p _  >
          <.._=/  \=_. >
             {`\()/`}`\
             {      }  \
             |{    }    \
             \ '--'   .- \
             |-      /    \
             | | | | |     ;
             | | |.;.,..__ |
           .-"";`         `|
          /    |           /
          `-../____,..---'`

`

el comando es cowsay -f tux | lolcat

Información resumida de esta clase
#EstudiantesDePlatzi

  • El pipe operator me permite ejecutar un comando y que su salida sea la entrada de otro comando, con esto podemos crear filtros o encadenamientos

  • Con el comando cat puedo concatenar y tener salida de dos archivos

  • El estándar input no se utiliza mucho dentro de la terminal

  • El símbolo que determina un pipe operator es |

Algo interesante de cowsay es que tiene varios formatos para el personaje que muestra el mensaje que no necesariamente debe ser una vaca. Si ejecutamos cowsay -l podemos ver todos los formatos disponibles en nuestro sistema. Ejemplo:

$ cowsay -l
Cow files in /usr/share/cowsay/cows:
apt beavis.zen bong bud-frogs bunny calvin cheese cock cower daemon default
dragon dragon-and-cow duck elephant elephant-in-snake eyes flaming-sheep
ghostbusters gnu head-in hellokitty kiss koala kosh luke-koala mech-and-cow
milk moofasa moose mutilated pony pony-smaller ren sheep skeleton snowman
sodomized-sheep stegosaurus stimpy suse three-eyes turkey turtle tux
unipony unipony-smaller vader vader-koala www

dejo el link de la pagina que lo explica mejor

https://picandocodigo.net/2017/personalizar-el-inicio-de-sesion-de-la-terminal-con-fortune-cowsay-y-lolcat/

Para leer el manual con colores:

omg

Esta es la lista de todos las formas que tiene cowsay:
![](file:///D:/Google%20Drive/cloud%20azure%20fundamentals/platzi%20courses/Terminal%20y%20Linea%20de%20Comandos/2.%20Starting%20to%20run/cowsay%20list.jpg)

mi ejemplo:

´cowsay -f daemon "Hello Platzi English Academy" | lolcat

cowsay -f stegosaurus “Hola Platzi y toda la comunidad” | lolcat

Poco a poco espero irle dando más utilidad y sentido a estos comandos.

Solo quiero decir que me siento orgullo de poder hacer ese vaca que tanto he visto en decenas de chats y no sabía cómo se hacía jajaja. La adjunto como soporte. Pd: lo de los pipe se me hacen muy interesante.

Siempre repito el video dos veces y la segunda vez lo entiendo mucho mejor 😃

[mario@myArchLinux ~]$ cowsay -f tux "Hola Mundo" | lolcat
 ____________ 
< Hola Mundo >
 ------------ 
   \
    \
        .--.
       |o_o |
       |:_/ |
      //   \ \
     (|     | )
    /'\_   _/`\
    \___)=(___/


Creo que la explicación de los Pipe operators terminó siendo MUY clara cuando hizo el ejemplo con la vaca. Los ejemplos anteriores habían sido muy técnicos y no acaba de “graficarlos” en mi mente.

Desde WSL es frustrante seguir el curso

https://youtu.be/ZtqBQ68cfJc?t=6833 Recomiendo este tutorial que explica el pipe operator por si a alguien mas se le hizo dificil entenderlo a la primera

Personalmente pienso que el pipe operator combinado con el comando grep hacen una poderosa combinación.

Pueden tambien instalar unos mensajes predeterminados que son como mensajes de la fortuna, estan muy buenos jeje. Alegrando el día!

sudo apt install fortune-mod

usar esto es un arcoiris infinito

tree | lolcat

Para subir un poco el animo, gracias chicos.

![Never Sop Learning, Never!](

Usando pipes para correr un archivo en python

cat : "Puede" combinar varios archivos y "muestra" el resultado de ellos. > $ cat file1 file2
tee: Realiza la misma acción que "less" pero genera un archivo. > $ ls | tee peanuts.txt [Muestra el resultado y tambien lo guarda en "peanuts.txt"] 
Pipe "|": Redirige la salida (output) como la entrada (input) de otra instrucción.  >$  ls -lh | less     [el output de “ls -lh” es el input de less]

Fuente: linuxjourney.com

Un caso muy frecuente de standard input es restaurar una base de datos con mysql por ejemplo
seria algo asi:

mysql -u root -p database < sql_file.sql 

Esto lo que hace es usar el sql_file.sql como entrada para el comando de mysql

si a alguien le intereza como poner | lo pueden lograr con alt+124

PIPE OPERATOR
Es una forma de conectar la salida estándar de un programa con la entrada estándar de otro.
En otras palabras, pasa el resultado de una expresión como el primer parámetro de otra expresión
.
Permite que varios programas puedan encadenarse y hacer que los resultados de un comando puedan usarse como datos para procesar un siguiente comando.
.
.
Como podemos ver utilizamos el Pipe operator para ordenar alfabéticamente nuestros archivos y directorios.

Para abrir el archivo guardado nuevamente de colores con

lolcat

lo puedes hacer de esta forma:

less vaca.txt |  lolcat  

Se que es simple, pero quizás alguien quedo con la duda😁👍

Lo interesante de la redirección del stdin, es que este se presenta a la hora de manejar texto, debido a que para que algo salga por computadora (por nuestra pantalla), no necesita ser escribido, solo toma algo que ya está escrito, y lo muestra.

Si queremos ver varios archvios concatenados, es tan sencillo como poner dos argumentos con el comando cat: car docu1 docu2.

echo, es un comando que genera un stdout de lo que queramos entre comillas: echo "Es interesante"

Cuando queremos generar un comando que desencadene, varios procesos, haciendo que el resultado de uno, sea la entrada del otro.

cat sirve para concatenar archivos.
Entendi que pipe | sirve para filtrar archivos y que pasen automaticamente por otros comandos sin que tengas que ponerlo uno por uno.

Para instalar cowsay y lolcat en Debian o derivados como Ubuntu, Mint, etc… usamos el comando:

sudo apt install cowsay lolcat

Y listo! a reír un poquito… 😉😉😉

Con el ejemplo de la vaca y de lolcat fue mucho mas entendible esto de los pipe operator. 😄

**Pipe Operator (**`|`**)** ***Pipe operator*** es un operador que permite tomar la salida (stdout) de un comando y pasarla como entrada (stdin) de otro comando. Esto nos va a permitir generar diferentes filtros, encadenamientos o funcionalidades. `ls -lh | less` Lo redirigimos al comando `less` e incluso así podemos buscar con `/` a través del documento. Así ya no se necesita crear un archivo Si se necesita crear un archivo del output después de verlo con `less`, seria: `ls -lh | tee output.txt | less` El `tee` hace los mismo que la redireccion `>` permitiendonos dejarlo guardar en un archivo incluso dejandolo pasar a traves de los pipes. Lo que hemos hecho es generar el archivo primero y luego verlo con `less`. \--- Otro comando con el pipe operator es pasarlo a traves de un filtro como con el comando `sort` que lo va a ordernar. `ls -lh | sort | tee output.txt | less` **Diferencia entre > o >> y tee** 1\. `>` **(Redirección de Salida)** El símbolo `>` se utiliza en el **shell** para redirigir la **salida estándar (stdout)** de un comando a un archivo. Cuando usas `>`, estás diciendo: "En lugar de mostrar el resultado en la pantalla, guárdalo en este archivo". #### Ejemplo: `echo "Hola Mundo" > archivo.txt` * **¿Qué hace este comando?**: Guarda el texto "Hola Mundo" en el archivo `archivo.txt`. * Si el archivo no existe, lo creará. Si ya existe, lo **sobrescribirá** (borrará el contenido anterior). ### 2. `>>` **(Redirección para agregar)** A veces, no quieres sobrescribir el archivo, sino **agregar** contenido al final. Para eso, usas `>>` en lugar de `>`. #### Ejemplo: `echo "Hola de nuevo" >> archivo.txt` * **¿Qué hace este comando?**: Agrega "Hola de nuevo" al final de `archivo.txt` sin borrar el contenido previo. ### 3. `tee` **(Redirección y mostrar al mismo tiempo)** El comando `tee` es útil cuando quieres **ver el resultado en la pantalla** y **guardar una copia en un archivo** al mismo tiempo. Esto es diferente a `>` porque con `tee`, no pierdes la salida en la pantalla. #### Ejemplo: `echo "Hola Mundo" | tee archivo.txt` * **¿Qué hace este comando?**: Muestra "Hola Mundo" en la pantalla y al mismo tiempo guarda ese texto en `archivo.txt`. ### `tee -a` El comando `tee` normalmente sobrescribe el archivo, pero si quieres agregar contenido al archivo sin borrar el existente (como `>>`), puedes usar la opción `-a` (de "append"). #### Ejemplo: `echo "Otra línea" | tee -a archivo.txt` * **¿Qué hace este comando?**: Agrega "Otra línea" al final de `archivo.txt` y también muestra la salida en pantalla. **Resumen** * `>`: Guarda la salida en un archivo, sobrescribiéndolo si ya existe. * `>>`: Agrega la salida al final de un archivo, sin sobrescribir lo que ya está. * `tee`: Guarda la salida en un archivo y la muestra en pantalla. * `tee -a`: Agrega la salida a un archivo, sin sobrescribir, y la muestra en pantalla.
![](https://static.platzi.com/media/user_upload/image-81ce454f-b110-4d01-b576-d1cf97510f51.jpg) OJO en el min 4:06 explican lo del tee y es igual que usar > el stdout y me sobreescribió lo que tenía anteriormente.
![](https://static.platzi.com/media/user_upload/image-17209e86-5283-420d-b739-f1f4bde90609.jpg) ![]()cowsay -f dragon-and-cow Resumen de la clase | lolcat

no pude instalar cowsay y lolcat desde WSL ubuntu 20.04.3 😦

me voy derrotado de está clase…

Comando TEE: ¿Qué es y cómo funciona?

Recuerden instalar el sudo apt intall para cowsay

Si cuando quieren instalar cowsay o lolcat les sale

E: Unable to locate package

Intenten actualizar la terminal con

sudo apt update

Más info en este link: https://itsfoss.com/unable-to-locate-package-error-ubuntu/

En el min 9:20

Segun lo que yo entiendo, la vaca se muestra en blanco, porque los archivos ,txt muestran solo texto plano, sin color o nada por el estilo, es solo texto.

O alguien corrijame.

Saludos

El pipe operator “|” es una característica del sistema operativo Unix/Linux que permite redirigir la salida estándar (stdout) de un comando como la entrada estándar (stdin) de otro comando. Esto significa que la salida de un comando puede ser utilizada como entrada para otro comando, permitiendo una gran flexibilidad y potencia en la línea de comandos.

Un ejemplo simple de cómo utilizar el pipe operator es el siguiente:

ls -l | grep "txt"

En este ejemplo, se está ejecutando el comando “ls -l” que genera una lista de archivos y carpetas en el directorio actual con detalles de tamaño y permisos. La salida de este comando se redirige a través del pipe operator “|” y se utiliza como entrada para el comando “grep”, que busca las líneas que contengan el patrón “txt”. Como resultado, solo las líneas que contengan “txt” en el nombre del archivo serán mostradas en la consola.

Otro ejemplo es el siguiente:

ps aux | awk '{if ($3 > 50) print $0}'

En este ejemplo, se está ejecutando el comando “ps aux” que genera una lista de procesos en ejecución en el sistema. La salida de este comando se redirige a través del pipe operator “|” y se utiliza como entrada para el comando “awk” que es un procesador de texto. El script ‘{if ($3 > 50) print $0}’ se ejecuta para cada línea de la salida y solo imprime las líneas en las que el 3er campo sea mayor a 50.

En resumen, el pipe operator “|” es una herramienta poderosa que permite combinar varios comandos y utilizar la salida de un comando como entrada para otro, lo que permite realizar tareas complejas de manera sencilla y eficiente en la línea de comandos.

Está genial! =D

Aquí hay algunos ejemplos de filtros que se pueden usar junto con el operador de tubería (|) en la línea de comandos:

cat: muestra el contenido de un archivo
grep: busca líneas que coinciden con un patrón especificado
sort: ordena las líneas de entrada
uniq: elimina líneas duplicadas
cut: extrae campos especificados de cada línea de entrada
sed: realiza ediciones en el texto de entrada
awk: procesa el texto de entrada y produce salida formateada
head: muestra las primeras líneas de un archivo
tail: muestra las últimas líneas de un archivo
tr: traduce o elimina caracteres de entrada

Estos son solo algunos ejemplos de los muchos filtros disponibles en la línea de comandos. Dependiendo del sistema operativo que esté utilizando, puede haber otros filtros disponibles.

Obtenido de openai

echo -> Genera un standarOutput en la terminal
cat -> podemos concatenar el contenido de dos archivos sencillamente especificando el nombre de ambos archivos
ls -lh -> muestra el tamaño de archivos en bytes y mb
| -> este ese el PipOperator. Nos sirve para concatenar 2 comandos en uno solo
ls -lh | less -> Concatenamos ambos comandos con el PipOperator para que el resultado de “ls -lh” podamos visualizarlo con "less"
ls -lh | less | tee output.txt -> realizara la misma accion que el comando anterior pero con la diferencia de que guardara el resultado en un archivo gracias a que utilizamos el PipOperator + "tee output.txt"
tee -> Nos permite grabar contenido en un archivo. Funciona de la misma manera que el comando ">"
ls -lh | tee output.txt | less -> realizara la misma accion que el comando anterior pero con la diferencia de que guardara el resultado en un archivo gracias a que utilizamos el PipOperator + “tee output.txt” y luego con el <<less>> se visualizara el contenido de ese archivo generado con el <<tee>>