--- title: sed category: CLI layout: 2017/sheet intro: | Here's some hints on using sed. --- ## In place replacements ### In-place replacement (GNU) ```bash sed -i -e 's/foo/bar/' example.md ``` In GNU sed: use `-i` without arg. #### In-place replacement (BSD) ```bash sed -i '' -e 's/foo/bar/' example.md ``` In OSX, `-i ''` is required. ## File regions {:.-three-column} ### Print until a certain line is met ```bash sed '/begin api/q' ``` ### Print until a certain line is met, but not that line ```bash sed '/^# begin/,$d' ``` ### 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.