category: CLI
layout: 2017/sheet
intro: |
- Here's home hints on using sed.
+ Here's some hints on using sed.
---
-### In place replacements
+## In place replacements
-#### In GNU sed: use `-i` without arg.
+### In-place replacement (GNU)
```bash
sed -i -e 's/foo/bar/' example.md
```
-#### In OSX, `-i ''` is required.
+In GNU sed: use `-i` without arg.
+
+#### In-place replacement (BSD)
```bash
sed -i '' -e 's/foo/bar/' example.md
```
-### File regions
+ In OSX, `-i ''` is required.
+
+## File regions
+{:.-three-column}
-#### Print until a certain line is met
+### Print until a certain line is met
```bash
sed '/begin api/q'
```
-#### Print until a certain line is met, but not that line
+### Print until a certain line is met, but not that line
```bash
sed '/^# begin/,$d'
```
-#### Print everything after a given line
+### Print everything after a given line
```bash
sed -n '/end api/,$p'
```
+
+Print after a given line is found.
+
+### Print everything except matching
+
+```bash
+sed -n '/regex/!p'
+```
+
+Print everything except lines matching regex. Useful for printing files with comments.