Sed Commands

Stream editor commands for text transformation.

Basic Substitution

sed "s/old/new/" file.txt

Replace first occurrence in each line

sed "s/old/new/g" file.txt

Replace all occurrences globally

sed "s/old/new/i" file.txt

Case-insensitive replacement

sed "s/old/new/2" file.txt

Replace second occurrence only

sed -i "s/old/new/g" file.txt

Edit file in-place

sed -i.bak "s/old/new/g" file.txt

Edit in-place with backup

Line Selection

sed "5d" file.txt

Delete line 5

sed "1,3d" file.txt

Delete lines 1 through 3

sed "/pattern/d" file.txt

Delete lines matching pattern

sed -n "5p" file.txt

Print only line 5

sed -n "1,10p" file.txt

Print lines 1 through 10

sed -n "/pattern/p" file.txt

Print lines matching pattern

sed -n "$p" file.txt

Print last line

Advanced Substitution

sed "s|/path/old|/path/new|g"

Use alternative delimiter for paths

sed "s/\(.*\)/[\1]/" file.txt

Add brackets around each line

sed "s/[0-9]*/(&)/" file.txt

Wrap numbers in parentheses

sed "s/.*/\U&/" file.txt

Convert entire line to uppercase

sed "s/.*/\L&/" file.txt

Convert entire line to lowercase

sed "s/\b\(\w\)/\U\1/g"

Capitalize first letter of each word

Insert & Append

sed "3i\New line" file.txt

Insert line before line 3

sed "3a\New line" file.txt

Append line after line 3

sed "/pattern/i\New line"

Insert before matching pattern

sed "/pattern/a\New line"

Append after matching pattern

sed "1i\Header line" file.txt

Insert header at beginning

sed "$a\Footer line" file.txt

Append footer at end

Multiple Operations

sed -e "s/old/new/" -e "s/foo/bar/"

Execute multiple commands

sed "s/old/new/; s/foo/bar/"

Chain commands with semicolon

sed -f script.sed file.txt

Execute commands from script file

sed "1,5s/old/new/g" file.txt

Replace only in lines 1-5

sed "/start/,/end/s/old/new/g"

Replace between patterns

Character & Line Manipulation

sed "y/abc/ABC/" file.txt

Translate characters (like tr)

sed "s/^/ /" file.txt

Add two spaces at line start

sed "s/$/\r/" file.txt

Add carriage return at line end

sed "s/^[ \t]*//" file.txt

Remove leading whitespace

sed "s/[ \t]*$//" file.txt

Remove trailing whitespace

sed "/^$/d" file.txt

Remove empty lines

sed "G" file.txt

Double space a file

sed "/./G" file.txt

Double space non-empty lines

Address Ranges

sed "2,5d" file.txt

Delete lines 2 through 5

sed "2,5!d" file.txt

Delete all except lines 2-5

sed "/start/,/end/d" file.txt

Delete from start to end pattern

sed "1~2d" file.txt

Delete every other line starting at 1

sed "0~5d" file.txt

Delete every 5th line

Special Commands

sed "=" file.txt

Print line numbers

sed -n "l" file.txt

Display non-printing characters

sed "N; s/\n/ /" file.txt

Join pairs of lines

sed "/pattern/q" file.txt

Quit after matching pattern

sed "5q" file.txt

Quit after line 5 (like head -n 5)