0% found this document useful (0 votes)
199 views4 pages

Bruce Barnett's Cheat Sheet For SED From

SED Command Summary Command Description Address or Range 1 command makes modifications to Input Stream Output Stream Pattern Space Hold Buffer = print line #.

Uploaded by

j0531251
Copyright
© Attribution Non-Commercial (BY-NC)
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)
199 views4 pages

Bruce Barnett's Cheat Sheet For SED From

SED Command Summary Command Description Address or Range 1 command makes modifications to Input Stream Output Stream Pattern Space Hold Buffer = print line #.

Uploaded by

j0531251
Copyright
© Attribution Non-Commercial (BY-NC)
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

Bruce Barnett’s Cheat Sheet for SED

From [Link]
Version 1.0
SED Command Summary
Command Description Address Command makes modifications to
or Range1
Input Output Pattern Hold
Stream Stream Space Buffer
= Print line # - - Y - -
! function Don’t Range See See See See
function function function function
: label Define a label - - - - -
a\ Append a line after Address - Y - -
text
b label Branch to a label Range - - - -
c\ Change a line Range - Y - -
text
d Delete current Range Y - Y -
pattern space, and
loads new line
D Deletes first line of Range Y - Y -
pattern space, loads
new line
g Copy hold space Range - - Y -
into pattern buffer
G Append hold space Range - - Y -
into pattern buffer
h Copies pattern space Range - - - Y
into hold buffer
H Appends pattern Range - - - Y
space into hold
buffer
i\ Insert a line before Address - Y - -
text
L Display pattern Address - Y - -
space
n Print current pattern Range Y * - -
space, loads new
line
N Appends new line Range Y - Y -
into pattern space
p Prints current pattern Range - Y - -
space
P Prints first line of Range - Y - -
current pattern space
q Quit Address - - - -
r filename Read file Address - Y - -
s/regexp/new/ Substitute Range - - Y -
t label Brach after testing Range - - - -
last substitution
w filename Write file Range - Y - -
x Exchanges pattern Range - - Y Y
space and hold
buffer
y/source/dest/ Translate (tr) Range - - Y -

1
Address format: address command
Range format: addrezs1, address2 command

Copyright 2009 Bruce Barnett


Command formats:
Address command
Address1, Address2 command (Range format)
: label
! function
# comment
{ command1;command2;command3}
! { command1;command2;command3}

Address Formats Meaning


number Line Number
$ Last Line
/regexp/ All lines that match regular expression
\Xregexp\X All lines that match regular expression
(GNU extension)

Substitute flags
s/regexp/replacement/flags – flags may be zero or more of
g global – change all occurrences on the line
p print – print the pattern space if a
replacement is made
w file write to the file if a replacement is made
number change the number occurrence, not the first

Command Line Argument Long Version of Purpose


Argument (GNU extensions)
-V --version
-h --help
-n --quiet Don’t print the pattern
--silent space unless explicitly
stated
-e script --expression=script Execute sed script
-f filename --file=filename Execute sed commands in
filename

Copyright 2009 Bruce Barnett


Examples of complex commands:

Equivalent commands
Examples showing relationship between –n, d, p, and !
Sed Range Command Results
sed -n 1,10 p Print first 10 lines
sed -n 11,$ !p Print first 10 lines
sed 1,10 !d Print first 10 lines
sed 11,$ d Print first 10 lines
sed -n 1,10 !p Print last 10 lines
sed -n 11,$ p Print last 10 lines
sed 1,10 d Print last 10 lines
sed 11,$ !d Print last 10 lines
sed -n 1,10 d Nothing printed
sed -n 1,10 !d Nothing printed
sed -n 11,$ d Nothing printed
sed -n 11,$ !d Nothing printed
sed 1,10 p Print first 10 lines twice,
Then next 10 lines once
sed 11,$ !p Print first 10 lines twice,
Then last 10 lines once
sed 1,10 !p Print first 10 lines once,
Then last 10 lines twice
sed 11,$ P Print first 10 lines once,
Then last 10 lines twice

Summary of "n/N" "d/D" and "p/P" commands w/Pattern Space and Input
Pattern Next Command Output New Pattern New Next
Space Input Space Input
AB CD n <default> CD EF
AB CD N - AB\nCD EF
AB CD d - CD EF
AB CD D - CD EF
AB CD p AB CD EF
AB CD P AB CD EF
AB\nCD EF n <default> EF GH
AB\nCD EF N - AB\nCD\nEF GH
AB\nCD EF d - EF GH
AB\nCD EF D - CD EF
AB\nCD EF p AB\nCD AB\nCD EF
AB\nCD EF P AB AB\nCD EF

Copyright 2009 Bruce Barnett


References

x My SED tutorial
x
x
x
x
x

Copyright 2009 Bruce Barnett

You might also like