0% found this document useful (0 votes)
79 views5 pages

SED CheatSheet

This document provides a summary of common sed commands and examples for stream editing. It covers getting started with sed syntax and options, commands for replacing text, searching text, appending/deleting lines, numbering lines, and formatting files by inserting/deleting blank lines. Examples are given for tasks like replacing strings, searching for text, appending lines, numbering lines, prepending/deleting lines, and modifying file spacing.

Uploaded by

nirvana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views5 pages

SED CheatSheet

This document provides a summary of common sed commands and examples for stream editing. It covers getting started with sed syntax and options, commands for replacing text, searching text, appending/deleting lines, numbering lines, and formatting files by inserting/deleting blank lines. Examples are given for tasks like replacing strings, searching for text, appending lines, numbering lines, prepending/deleting lines, and modifying file spacing.

Uploaded by

nirvana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Randy8080 / reference Public

github.com/Randy8080/reference/blob/main/sed.md

title date icon background tags categories intro

Sed 2020- icon- bg-red-400 [Sed]


12-27 sed editor replace text utility Linux (https://www.gnu.org/software/sed/manual/sed.html)
10:34:08 Command is a stream editor, this sed cheat sheet contains sed
-0800 commands and some common sed tricks.

Getting started {.cols-3}

Sed Usage
Syntax

$ sed [options] command [input-file]

With pipeline

$ cat report.txt | sed 's/Nick/John/g'

$ echo '123abc' | sed 's/[0-9]+//g'

Option Examples {.col-span-2}

Option Example Description


-i sed -ibak 's/On/Off/' php.ini Backup and modify input file directly

-E sed -E 's/[0-9]+//g' input-file Use extended regular expressions

-n sed -n '3 p' config.conf Suppress default pattern space printing

-f sed -f script.sed config.conf Execute sed script file

-e sed -e 'command1' -e 'command2' input-file Execute multiple sed commands

{.show-header}

Multiple commands

$ echo "hello world" | sed -e 's/h/H/g' -e 's/w/W/g'


Hello World

Use -e to execute multiple sed commands

Sed script

$ echo 's/h/H/g' >> hello.sed


$ echo 's/w/W/g' >> hello.sed
$ echo "hello world" | sed -f hello.sed
Hello World

Use -f to execute sed script file

Examples

$ sed 's/old/new/g' file.txt


$ sed 's/old/new/g' file.txt > new.txt

$ sed 's/old/new/g' -i file.txt


$ sed 's/old/new/g' -i.backup file.txt

1/5
See: Sed examples

Sed commands {.cols-3}

Commands {.col-span-2}

Command Example Description

p sed -n '1,4 p' input.txt Print lines 1-4

p sed -n -e '1,4 p' -e '6,7 p' input.txt Print lines 1-4 and 6-7

d sed '1,4 d' input.txt Print lines except 1-4

w sed -n '1,4 w output.txt' input.txt Write pattern space to file

a sed '2 a new-line' input.txt Append line after

i sed '2 i new-line' input.txt Insert line before

{.show-header}

Space commands

Command Description

n Print pattern space, empty pattern space, and read next line

x Swap pattern space with hold space

h Copy pattern space to hold space

H Append pattern space to hold space

g Copy hold space to pattern space

G Append hold space to pattern space

See also: File spacing

Flags

$ sed 's/old/new/[flags]' [input-file]

Flag Description

g Global substitution

1,2... Substitute the nth occurrence

p Print only the substituted line

w Write only the substituted line to a file

I Ignore case while searching

e Substitute and execute in the command line

Loops commands

Command Description

b label Branch to a label (for looping)

t label Branch to a label only on successful substitution


(for looping)

:label Label for the b and t commands (for looping)

2/5
Command Description

N Append next line to pattern space

P Print 1st line in multi-line

D Delete 1st line in multi-line

Misc Flags

Flag Description

`/ ^ @ ! #`

& Gets the matched pattern

( ) \1 \2 \3 Group using ( and ) .


Use \1 , \2 in replacement to refer the group

Sed examples {.cols-3}

Replacing text {.row-span-2}


Replace all occurrences of a string

$ sed 's/old/new/g' file.txt

Replace only the nth occurrence of a string

$ sed 's/old/new/2' file.txt

Replace replace a string only on the 5th line

$ sed '5 s/old/new/' file.txt

Replace "world" with "universe" but only if the line begins with "hello"

$ sed '/hello/s/world/universe/' file.txt

Remove "" from the end of each line

$ sed 's/\\$//' file.txt

Remove all whitespace from beginning of each line

$ sed 's/^\s*//' file.txt

Remove comments. Even those that are at the end of a line

$ sed 's/#.*$//' file.txt

Search for text


Search for a string and only print the lines that were matched

$ sed -n '/hello/p' file.txt

Case insensitive search

$ sed -n '/hello/Ip' file.txt

Search for a string but only output lines that do not match

$ sed -n '/hello/!p' file.txt

Appending lines
Append line after line 2

$ sed '2a Text after line 2' file.txt

Append line at the end of the file

3/5
$ sed '$a THE END!' file.txt

Append line after every 3rd line starting from line 3

$ sed '3~3a Some text' file.txt

Numbering {.col-span-2}
Number line of a file (simple left alignment)

$ sed = file.txt | sed 'N;s/\n/\t/'

Number line of a file (number on left, right-aligned)

$ sed = file.txt | sed 'N; s/^/ /; s/ *\(.\{6,\}\)\n/\1 /'

Number line of file, but only print numbers if line is not blank

$ sed '/./=' file.txt | sed '/./N; s/\n/ /'

Count lines (emulates "wc -l")

$ sed -n '$='

Prepending lines
Insert text before line 5

$ sed '5i line number five' file.txt

Insert "Example: " before each line that contains "hello"

$ sed '/hello/i Example: ' file.txt

Deleting lines
Delete line 5-7 in file

$ sed '5,7d' file.txt

Delete every 2nd line starting with line 3

$ sed '3~2d' file.txt

Delete the last line in file

$ sed '$d' file.txt

Delete lines starting with "Hello"

$ sed '/^Hello/d' file.txt

Delete all empty lines

$ sed '/^$/d' file.txt

Delete lines starting with "#"

$ sed '/^#/d' file.txt

File spacing
Double space

$ sed G

Delete all blank lines and double space

$ sed '/^$/d;G'

Triple space a file

$ sed 'G;G'

Undo double-spacing

4/5
$ sed 'n;d'

Insert a blank line above line which matches "regex"

$ sed '/regex/{x;p;x;}'

Insert a blank line below line which matches "regex"

$ sed '/regex/G'

Insert a blank line around line which matches "regex"

$ sed '/regex/{x;p;x;G;}'

5/5

You might also like