|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
| `|` | Output from one command line program can be used as input to another one (e.g. `ls *.md | head` gives you the first 5 `*.md` files in your directory) |
+
* Combining single-purpose filters with pipes is the most productive way to use the shell...
* a program conforms that to Unix conventions, it can easily be combined with others...
Example:
- ls *.md | head | sed -i \`s/markdown/software/g\`
+ ls *.md | head | sed -i `s/markdown/software/g`
changes all the instances of the word `markdown` to `software` in the first 5 `*.md` files in your current directory.