From 42950dfac7e63248f1df869e1ebd3fa89c1390ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Eikeland?= Date: Sun, 5 Jul 2020 13:02:32 +0200 Subject: [PATCH] sed: Added command for excluding lines while printing (#984) Co-authored-by: Rico Sta. Cruz --- sed.md | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/sed.md b/sed.md index 06d2d12ed..e4d0492c1 100644 --- a/sed.md +++ b/sed.md @@ -6,36 +6,51 @@ intro: | 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. -#### Print until a certain line is met +## 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 +### 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/d;' +``` + +Print everything except lines matching regex. Useful for printing files with comments.