Home Uncategorized Sed cheat sheet

Sed cheat sheet

by The Linux Digest Guy
Magnifying glass

Sed basics

Print file while replacing replacing a word.
sed ‘s/old/new/g’ file.txt
Print file with changes to a new file.
sed ‘s/old/new/g’ file.txt > newfile.txt
Change file in place.
sed ‘s/old/new/g’ -i file.txt
Change file in place. But make a backup of the original with .backup appended to the file name.
sed ‘s/old/new/g’ -i.backup file.txt
Change output of another command by piping it to sed.
echo ‘old text’ | sed ‘s/old/new/g’
Run multiple sed commands from a script.
echo ‘s/old/new/g’ >> script.sed
echo ‘/Hello/d’ >> script.sed
sed -f script.sed file.txt
Run multiple commands from the command line.
sed -e ‘s/old/new/g’ -e ‘/hello/d’ file.txt

Replacing text

Replace all occurances of a string.
sed ‘s/old/new/g’ file.txt
Replace only the nth occurence of a string in a file.
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
sed ‘$a this is the end of the file’ file.txt
Append line after every 3rd line starting from line 3
sed ‘3~3a Some text’ file.txt

Prepending lines

Insert text before line 5.
sed ‘5i line number five’ file.txt
Insert text before each line that matches pattern. Insert “Example:” before each line that contains “hello world”
sed ‘/hello world/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

Related Posts

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More

Privacy & Cookies Policy