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

        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.

          Jhony Alexander Garcia Gómez

          Jhony Alexander Garcia Gómez

          student•
          hace 7 años

          gracias por los apuntes

          Mauricio Hernández

          Mauricio Hernández

          teacher•
          hace 7 años

          Cool! |m|

        LUIS JAVIER BAUTISTA BARAHONA

        LUIS JAVIER BAUTISTA BARAHONA

        student•
        hace 8 años

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

          Leonardo Rojas Moreno

          Leonardo Rojas Moreno

          student•
          hace 8 años

          Nota: grep -v omite la cadena indicada siguiente

          Carlos Zea

          Carlos Zea

          student•
          hace 7 años

          -i, --ignore case. :D

        Sergio Toshio Minei

        Sergio Toshio Minei

        student•
        hace 8 años

        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í

          Carlos Roberto Galeano

          Carlos Roberto Galeano

          student•
          hace 8 años

          Gracias Sergio, gran resumen del curso…

          Saludos

          Sergio Toshio Minei

          Sergio Toshio Minei

          student•
          hace 8 años

          gracias @carogaz 😄

        Brian Jose Coronel Ortiz

        Brian Jose Coronel Ortiz

        student•
        hace 7 años
        pipes-01.png
          José Luis Medina Garcia

          José Luis Medina Garcia

          student•
          hace 6 años

          Excelente manera de verlo, gracias por el aporte.

          Muñoz Ortiz Leonel

          Muñoz Ortiz Leonel

          student•
          hace 5 años

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

        Marcos Tomassi

        Marcos Tomassi

        student•
        hace 8 años

        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:

          Gerardo Nava Pereda

          Gerardo Nava Pereda

          student•
          hace 8 años

          ¿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

        Isaac Miranda Madrigal

        Isaac Miranda Madrigal

        student•
        hace 6 años

        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.

          Ruddy Ramos

          Ruddy Ramos

          student•
          hace 3 años

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

        Mariangelica Useche

        Mariangelica Useche

        Team Platzi•
        hace 7 años

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

          Ana Lima

          Ana Lima

          student•
          hace 7 años

          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 ;)

        Néstor Iván Cepeda Munevar

        Néstor Iván Cepeda Munevar

        student•
        hace 7 años

        Descripción grafica:

          Diego Ramirez

          Diego Ramirez

          student•
          hace 7 años

          Excelente descripción gráfica! 😃

          Eden Rodrigo Verdugo Garcia

          Eden Rodrigo Verdugo Garcia

          student•
          hace 7 años

          excelente asi esta mas facil de comprender :)

        Daniel Páez

        Daniel Páez

        student•
        hace 7 años

        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

          Josué Miguel Rodríguez Girón

          Josué Miguel Rodríguez Girón

          student•
          hace 6 años

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

          Sneider Narvaez

          Sneider Narvaez

          student•
          hace 5 años

          ¿Como lo harías con cp?

        Ricardo Magaña

        Ricardo Magaña

        student•
        hace 7 años

        aprendo | comparto

        Rulo Code

        Rulo Code

        student•
        hace 7 años

        **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.

          Efrain Pineda Jaimes

          Efrain Pineda Jaimes

          student•
          hace 7 años

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

          Adrián Gutiérrez Toro

          Adrián Gutiérrez Toro

          student•
          hace 7 años

          Excelente aporte...

        LUIS JAVIER BAUTISTA BARAHONA

        LUIS JAVIER BAUTISTA BARAHONA

        student•
        hace 8 años

        | (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.

        Jansen Peña

        Jansen Peña

        student•
        hace 7 años

        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.

        Sebastian Pérez Quintero

        Sebastian Pérez Quintero

        student•
        hace 8 años

        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

          Diego Forero

          Diego Forero

          Team Platzi•
          hace 8 años

          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 :

          Sebastian Pérez Quintero

          Sebastian Pérez Quintero

          student•
          hace 8 años

          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.

        Citlalli Herrera

        Citlalli Herrera

        student•
        hace 8 años

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

          Diego Forero

          Diego Forero

          Team Platzi•
          hace 8 años

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

        Gerardo Fabián Hernández Jauregui

        Gerardo Fabián Hernández Jauregui

        student•
        hace 8 años

        y las notas???

          Diego Forero

          Diego Forero

          Team Platzi•
          hace 8 años

          Las vamos a publicar, gracias por el reporte.

          David Peñafiel Zeballos

          David Peñafiel Zeballos

          student•
          hace 8 años

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

        Carlos David Ramirez Muñoz

        Carlos David Ramirez Muñoz

        student•
        hace 8 años

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

        Antonio Mendiola Farías

        Antonio Mendiola Farías

        student•
        hace 7 años

        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...

          Oscar Téllez

          Oscar Téllez

          student•
          hace 7 años

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

          Josué Miguel Rodríguez Girón

          Josué Miguel Rodríguez Girón

          student•
          hace 6 años

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

        Isaac Miranda Madrigal

        Isaac Miranda Madrigal

        student•
        hace 6 años

        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)
          Abdiel Ortega

          Abdiel Ortega

          student•
          hace 6 años

          Gracias por el aporte

        Angel Perez

        Angel Perez

        student•
        hace 7 años

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

          freddy molleda

          freddy molleda

          student•
          hace 7 años

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