GithubHelp home page GithubHelp logo

pipex's Introduction

pipex

This project is an introduction to topics such as: parent and child processes, pipes, redirections; a prerequisite to a later project (minishell).

Testers:

https://github.com/vfurmane/pipex-tester

Resources:

https://www.codequoi.com/en/creating-and-killing-child-processes-in-c/
https://www.codequoi.com/en/pipe-an-inter-process-communication-method/
https://www.codequoi.com/en/handling-a-file-by-its-descriptor-in-c/

How to use:

  1. Clone the repository
git clone https://github.com/rsoo23/pipex.git pipex
  1. Make the executable
make
  1. Input the arguments in the format: Single Pipe: The program handles 2 commands, getting the input from the infile and writing the output to the outfile.
./pipex infile cmd1 cmd2 outfile
This replicates:
./pipex < infile cmd1 | cmd2 > outfile
Example:
./pipex infile.txt "grep make" "wc -l" outfile.txt

Bonus:

Multiple Pipes: The program handles > 2 commands using multiple pipes.

./pipex infile cmd1 cmd2 ... cmdn outfile
This replicates:
./pipex < infile cmd1 | cmd2 | .. | cmdn > outfile
Example:
./pipex infile.txt "grep make" "wc -l" "cat -e" outfile.txt

Here_doc: The program receives input from the standard input (STDIN) until the limiter is entered and executes the commands, writing the output to the outfile.

./pipex here_doc limiter cmd1 cmd2 outfile
This replicates:
./pipex cmd1 << limiter | cmd2 >> outfile
Example:
./pipex here_doc stop "grep hi" "wc -w" outfile.txt

pipex's People

Contributors

rsoo23 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.