CursosEmpresasBlogLiveConfPrecios

Pipe

Clase 10 de 14 • Introducción a Terminal y Línea de Comandos 2018

Contenido del curso

Terminal y Línea de Comandos

  • 1
    Qué es la terminal y para qué sirve

    Qué es la terminal y para qué sirve

    05:51 min
  • 2
    Árbol de directorios y navegación

    Árbol de directorios y navegación

    12:22 min
  • 3
    Manipulación y modificación del árbol de directorios

    Manipulación y modificación del árbol de directorios

    12:53 min
  • 4
    Herramientas básicas

    Herramientas básicas

    09:15 min
  • 5
    Variables y entorno

    Variables y entorno

    11:00 min
  • 6
    Streams

    Streams

    21:06 min
  • 7
    Procesos desde la terminal

    Procesos desde la terminal

    18:09 min
  • 8
    Power Tools: Comandos poderosos de búsqueda

    Power Tools: Comandos poderosos de búsqueda

    14:58 min
  • 9
    Power Tools: curl, zip y tar

    Power Tools: curl, zip y tar

    14:40 min
  • 10
    Pipe

    Pipe

    Viendo ahora
  • 11
    Crontab: Una herramienta para automatizar tareas desde la terminal

    Crontab: Una herramienta para automatizar tareas desde la terminal

    18:24 min
  • 12
    Links

    Links

    09:48 min
  • 13
    Usuarios y Permisos

    Usuarios y Permisos

    18:08 min
  • 14
    Qué sigue después de aprender a usar la terminal

    Qué sigue después de aprender a usar la terminal

    01:39 min
Tomar examen
Resumen

Este operador se llama pipe y se escribe con la barra vertical |. Ayuda a anidar operaciones.

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      Comentarios

      Jery Rafael Ramírez Teo

      Jery Rafael Ramírez Teo

      student•
      hace 8 años
        Jhony Alexander Garcia Gómez

        Jhony Alexander Garcia Gómez

        student•
        hace 7 años
        Mauricio Hernández

        Mauricio Hernández

        teacher•
        hace 7 años
      LUIS JAVIER BAUTISTA BARAHONA

      LUIS JAVIER BAUTISTA BARAHONA

      student•
      hace 8 años
        Leonardo Rojas Moreno

        Leonardo Rojas Moreno

        student•
        hace 8 años
        Carlos Zea

        Carlos Zea

        student•
        hace 7 años
      Sergio Toshio Minei

      Sergio Toshio Minei

      student•
      hace 8 años
        Carlos Roberto Galeano

        Carlos Roberto Galeano

        student•
        hace 8 años
        Sergio Toshio Minei

        Sergio Toshio Minei

        student•
        hace 8 años
      Brian Jose Coronel Ortiz

      Brian Jose Coronel Ortiz

      student•
      hace 7 años
        José Luis Medina Garcia

        José Luis Medina Garcia

        student•
        hace 6 años
        Muñoz Ortiz Leonel

        Muñoz Ortiz Leonel

        student•
        hace 5 años
      Marcos Tomassi

      Marcos Tomassi

      student•
      hace 8 años
        Gerardo Nava Pereda

        Gerardo Nava Pereda

        student•
        hace 8 años
      Isaac Miranda Madrigal

      Isaac Miranda Madrigal

      student•
      hace 7 años
        Ruddy Ramos

        Ruddy Ramos

        student•
        hace 3 años
      Mariangelica Useche

      Mariangelica Useche

      Team Platzi•
      hace 7 años
        Ana Lima

        Ana Lima

        student•
        hace 7 años
      Néstor Iván Cepeda Munevar

      Néstor Iván Cepeda Munevar

      student•
      hace 8 años
        Diego Ramirez

        Diego Ramirez

        student•
        hace 7 años
        Eden Rodrigo Verdugo Garcia

        Eden Rodrigo Verdugo Garcia

        student•
        hace 7 años
      Daniel Páez

      Daniel Páez

      student•
      hace 7 años
        Josué Miguel Rodríguez Girón

        Josué Miguel Rodríguez Girón

        student•
        hace 6 años
        Sneider Narvaez

        Sneider Narvaez

        student•
        hace 5 años
      Ricardo Magaña

      Ricardo Magaña

      student•
      hace 7 años
      Rulo Code

      Rulo Code

      student•
      hace 7 años
        Efrain Pineda Jaimes

        Efrain Pineda Jaimes

        student•
        hace 7 años
        Adrián Gutiérrez Toro

        Adrián Gutiérrez Toro

        student•
        hace 7 años
      LUIS JAVIER BAUTISTA BARAHONA

      LUIS JAVIER BAUTISTA BARAHONA

      student•
      hace 8 años
      Jansen Peña

      Jansen Peña

      student•
      hace 7 años
      Sebastian Pérez Quintero

      Sebastian Pérez Quintero

      student•
      hace 8 años
        Diego Forero

        Diego Forero

        Team Platzi•
        hace 8 años
        Sebastian Pérez Quintero

        Sebastian Pérez Quintero

        student•
        hace 8 años
      Citlalli Herrera

      Citlalli Herrera

      student•
      hace 8 años
        Diego Forero

        Diego Forero

        Team Platzi•
        hace 8 años
      Gerardo Fabián Hernández Jauregui

      Gerardo Fabián Hernández Jauregui

      student•
      hace 8 años
        Diego Forero

        Diego Forero

        Team Platzi•
        hace 8 años
        David Peñafiel Zeballos

        David Peñafiel Zeballos

        student•
        hace 8 años
      Carlos David Ramirez Muñoz

      Carlos David Ramirez Muñoz

      student•
      hace 8 años
      Antonio Mendiola Farías

      Antonio Mendiola Farías

      student•
      hace 7 años
        Oscar Téllez

        Oscar Téllez

        student•
        hace 7 años
        Josué Miguel Rodríguez Girón

        Josué Miguel Rodríguez Girón

        student•
        hace 6 años
      Isaac Miranda Madrigal

      Isaac Miranda Madrigal

      student•
      hace 7 años
        Abdiel Ortega

        Abdiel Ortega

        student•
        hace 6 años
      Angel Perez

      Angel Perez

      student•
      hace 7 años
        freddy molleda

        freddy molleda

        student•
        hace 7 años

      Pipe: Nos permite concatenar comandos
      ls -l | wc -l: cuantas lineas tiene este
      cat [peliculas.csv] | wc -l: nos indica cuantas lineas tiene este archivo.
      cat [peliculas.csv] | wc -l | grep [Thriller] wc -l : nos indica cuantas lineas tiene del parametro que estamos buscando.
      ** cat movies.dat | grep Thriller | awk -F"::" '{printf("%s\n", $3)}’: nos imprime las categorias que contenga Thriller
      ** cat movies.dat | grep Thriller | awk -F"::" ‘{printf("%s\n", $3)}’ | grep -v Comedy :
      grep -v evitamos que no nos imprima el parametro que le mandamos.

      gracias por los apuntes

      Cool! |m|

      Nota: grep -i string Omite el case sensitive en la búsqueda.

      Nota: grep -v omite la cadena indicada siguiente

      -i, --ignore case. :D

      Pipe

      Sirve para encadenar el standard output de un comando con el standard input de otro comando. Pa esto se usa |.

      • | wc -l muestra cantidad de lineas del output.
      $ ls -l | wc -l
      • | grep [patrón] devuelve las lineas que cumplen con el patrón.
      $ cat peliculas.csv | grep Thriller
      • | more muestra la lista de resultados por paginas.
      $ cat peliculas.csv | more

      Pueden ver el resumen completo del curso aquí

      Gracias Sergio, gran resumen del curso…

      Saludos

      gracias @carogaz 😄

      pipes-01.png

      Excelente manera de verlo, gracias por el aporte.

      Gracias..me ayudo mucho esta imagen para entenderlo mejor..

      SED (Stream EDitor) es un editor de flujos y ficheros de forma no interactiva. Permite modificar el contenido de las diferentes líneas de un fichero en base a una serie de comandos o un fichero de comandos (-f fichero_comandos).

      Sed recibe por stdin (o vía fichero) una serie de líneas para manipular, y aplica a cada una de ellas los comandos que le especifiquemos a todas ellas, a un rango de las mismas, o a las que cumplan alguna condición.

      El formato básico de uso de sed es:

      # sed [-ns] '[direccion] instruccion argumentos'

      Donde:

      [direccion] es opcional, siendo un número de línea (N), rango de números de línea (N,M) o búsqueda de regexp (/cadena/) indicando el ámbito de actuación de las instrucciones. Si no se especifica [direccion], se actúa sobre todas las líneas del flujo.
      Instruccion puede ser:
      i = Insertar línea antes de la línea actual.
      a = Insertar línea después de la línea actual.
      c = Cambiar línea actual.
      d = Borrar línea actual.
      p = Imprimir línea actual en stdout.
      s = Sustituir cadena en línea actual.
      r fichero = Añadir contenido de “fichero” a la línea actual.
      w fichero = Escribir salida a un fichero.
      ! = Aplicar instrucción a las líneas no seleccionadas por la condición.
      q = Finalizar procesamiento del fichero.
      -n: No mostrar por stdout las líneas que están siendo procesadas.
      -s: Tratar todos los ficheros entrantes como flujos separados.

      Fuente:
      Mas info en:

      ¿Para que es esto mascostomassi, o porque consideras que es bueno para esta clase de Pipe? … lo leí pero no entendí muy bien su utilidad

      Es muchísima información en muy poco tiempo, literalmente me la paso muchísimo más tiempo apuntando y entendiendo que viendo los videos. La clase que viene se ve súper increíble. De los mejores cursos que he llevado en Platzi hasta ahora.

      X2. Si es demasiada información para procesar, sin embargo, estoy seguro de que la practica hace al maestro.

      Alberto no puede limpiar pantalla sin decir antes "Limpio pantalla", jaja. Buen profesor. Gracias, Beco!

      Es buena práctica al momento de enseñar a manejar la terminal ya que todos los estudiantes pueden estar 100% claros de lo que está sucediendo ;)

      Descripción grafica:

      Excelente descripción gráfica! 😃

      excelente asi esta mas facil de comprender :)

      Sufri un poco pero encontre una manera para hacer un pipe que me permita borrar archivos usando un find.

      Es incorporando el comando xargs que convierte el standart input del comando pasado en simples argumentos de terminal del siguiente.

      Hay que tener en cuenta que rm no interprete standard input, sufri un buen rato con eso!!!

      find . -name 'texto*' | xargs rm

      Gracias Stack overflow https://stackoverflow.com/questions/20307299/linux-why-cant-i-pipe-find-result-to-rm

      find te permite ejecutar ciertos comandos que se aplican directamente al resultado de la busqueda. Basado en tu ejemplo seria: find . -name 'texto*' -delete

      ¿Como lo harías con cp?

      aprendo | comparto

      **Power Tool PIPE : ** Nos permite anidar operaciones, mandando el STDOUT del primer comando al STDIN del segundo, es muy diferente a usar ; ya que este sólo ejecuta un comando tras otro.

      Ejemplos:

      $ ls -l | wc -l //contar las lineas del STDOUT del primer comando

      $ cat file.csv | grep -i open > allOpen.csv | wc -l // abrir y buscar la palabra “open” dentro del archivo .csv, luego almacenar el STDOUT en allOpen.csv y luego contar los resultados

      • **awk **: Es un comando de procesamiento de texto que sirve para demasiadas cosas y en realidad requiere un estudio profundo : es este caso en particular la usaremos para separar columnas de datos

      $ awk -F “,” ‘{printf("%s:%s\n",$2,$4)}’ // sé que si lo pongo así es dificl de entender por eso trataré de explicarlo por partes ...

      $ awk -F // es el estandar se separación de columnas

      $ awk -F"::" '{printf("%s:%s\n") // aquí indicamos que el archivo utiliza una separación de :: ( hay varios tipos de separación entre ellos : ; | : ), luego indicamos que vamos a ocupar sólo dos cadenas de texto (columnas), separadas con “:” y al final haremos un salto de linea \n

      $ awk -F “,” ‘{printf("%s:%s\n",$2,$4)}’ // por ultimo indicamos las dos columnas que necesitamos, en este caso la $2 y la $4 y listo ! Nota: el numero de columna es como en Excel donde A es 1 B es 2, ect

      Espero hayan entendido mi explicación y no olviden seguir estudiando todas las posibilidades brindadas por awk :D.

      Estupendo, ser'ia genial que paltzi dejara guardar estos comentarios como favoritos o algo as'i.

      Excelente aporte...

      | (tubería o pipe): Consiste en una cadena de procesos conectados de forma tal que la salida de cada elemento de la cadena es la entrada del próximo. Es común el uso de buffer de datos entre elementos consecutivos.

      Operador pipe | : Permite concatenar comandos pero a diferencia de ; en el que un comando se ejecuta después del otro, con pipe, la salida o standar output de un comando se vuelve el _standar input _ del siguiente: Comando 1 con sus respectivas flags (opcional), por ejemplo: ls En este caso el STDOUT (standard output) de este comando es la lista de contenido del directorio. Si lo concateno con otro comando usando pipe , siguiendo con el ejemplo: ls | wc -l El STDOUT (standard output) de ls se vuelve el STDIN (standard input) de wc -l; lo que nos da como resultado el número de líneas que tiene el listado de contenido del directorio, lo que es lo mismo que la cantidad de ítems que tiene esa lista.

      Si son curiosos prueben primero ls | wc -l y luego ls -l | wc -l y verán que el segundo comando les da un valor mayor por 1 que el primero, eso quiere decir que el verdadero número de archivos dentro del directorio se obtiene con el primer comando, no con el segundo, porque el segundo devuelve ademas de la lista de contenido del directorio, la suma del tamaño de todos los archivos dentro del directorio.

      Hola a tod@s cómo estan?
      Un favor, me podrían explicar este comando por favor…

      awk -F"::"'{printf("%s:%s\n", $2, $3)}'

      No me queda clara la parte de la -F"::" que son estos :: y de como funciona esta parte… ("%s:%s\n", $2, $3)
      Gracias

      con el -F le indicas cual es el separador que va a usar para separar la linea de código
      :: indica que ese es el separador que va usar por eso viene luego del -F
      La última parte indica el número de la columna que va a imprimir en este caso son las columnas 2 y 3 separadas por un :

      Super claro @GOLLUM23 muchas gracias… una pregunta, si por ejemplo mi archivo es un csv separado por comas, ahí debería de poner -F"," ? - porque no me funciona, y no se si es por que no esta bien ponerlo así o si es porque tengo windows 7 y acá no funcione bien todo ese comando jejejeje.

      Deberían subir el archivo de peliculas.csv para practicarlo y entenderlo bien de como funciona 😦

      Vamos a revisar y subir los archivos lo más pronto posible.

      y las notas???

      Las vamos a publicar, gracias por el reporte.

      las han colgado en el los archivos del vídeo 10 (el anterior)

      En pocas palabras, pipe es un carácter que ayuda a concatenar operaciones para jugar con el standar output

      Alguien me puede explicar porqué en los primeros dos casos muestra el mismo resultado, pero con la tercera no?

      cat Contactos.txt | grep Vivanuncios | wc -l 14 grep Vivanuncios Contactos.txt | wc -l 14 grep Vivanuncios Contactos.txt -c 20

      De hecho, la información correcta es que 20 líneas coinciden con la búsqueda...

      Creo que tendrias que compartir el archivo que estas usando para analizar que rayos esta contando cada variante

      En los primeros dos cuentas las lineas, en el ultimo las coincidencias, es decir, en algunas lineas existe mas de un "Vivanuncios".

      Le ahorro a alguien el trabajo de mostrar todos los aeropuertos por si quisieran probar que tanto rápido les lista su computadora uno 55114 resultados:

      cat airport.csv | awk -F"," '{printf("ident:%s, type: %s, name: %s, elevation (feets): %s, continent: %s, country: %s, region: %s, municipality: %s, gps code: %s, iata code: %s, local code: %s, coordinates: %s\n",$1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12)}' | (more/wc -l)

      Gracias por el aporte

      Demasiado avanzado… Me perdi desde el video anterior. Llevo viendo como dos veces este video.

      No desanimos, solo con la repeticion los conocimientos se fijan en el cerebro, de lo contrario olvidas la informacion la olvidas rapidamente.