Sed Commands
Stream editor commands for text transformation.
Basic Substitution
sed "s/old/new/" file.txtReplace first occurrence in each line
sed "s/old/new/g" file.txtReplace all occurrences globally
sed "s/old/new/i" file.txtCase-insensitive replacement
sed "s/old/new/2" file.txtReplace second occurrence only
sed -i "s/old/new/g" file.txtEdit file in-place
sed -i.bak "s/old/new/g" file.txtEdit in-place with backup
Line Selection
sed "5d" file.txtDelete line 5
sed "1,3d" file.txtDelete lines 1 through 3
sed "/pattern/d" file.txtDelete lines matching pattern
sed -n "5p" file.txtPrint only line 5
sed -n "1,10p" file.txtPrint lines 1 through 10
sed -n "/pattern/p" file.txtPrint lines matching pattern
sed -n "$p" file.txtPrint last line
Advanced Substitution
sed "s|/path/old|/path/new|g"Use alternative delimiter for paths
sed "s/\(.*\)/[\1]/" file.txtAdd brackets around each line
sed "s/[0-9]*/(&)/" file.txtWrap numbers in parentheses
sed "s/.*/\U&/" file.txtConvert entire line to uppercase
sed "s/.*/\L&/" file.txtConvert entire line to lowercase
sed "s/\b\(\w\)/\U\1/g"Capitalize first letter of each word
Insert & Append
sed "3i\New line" file.txtInsert line before line 3
sed "3a\New line" file.txtAppend 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.txtInsert header at beginning
sed "$a\Footer line" file.txtAppend 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.txtExecute commands from script file
sed "1,5s/old/new/g" file.txtReplace only in lines 1-5
sed "/start/,/end/s/old/new/g"Replace between patterns
Character & Line Manipulation
sed "y/abc/ABC/" file.txtTranslate characters (like tr)
sed "s/^/ /" file.txtAdd two spaces at line start
sed "s/$/\r/" file.txtAdd carriage return at line end
sed "s/^[ \t]*//" file.txtRemove leading whitespace
sed "s/[ \t]*$//" file.txtRemove trailing whitespace
sed "/^$/d" file.txtRemove empty lines
sed "G" file.txtDouble space a file
sed "/./G" file.txtDouble space non-empty lines
Address Ranges
sed "2,5d" file.txtDelete lines 2 through 5
sed "2,5!d" file.txtDelete all except lines 2-5
sed "/start/,/end/d" file.txtDelete from start to end pattern
sed "1~2d" file.txtDelete every other line starting at 1
sed "0~5d" file.txtDelete every 5th line
Special Commands
sed "=" file.txtPrint line numbers
sed -n "l" file.txtDisplay non-printing characters
sed "N; s/\n/ /" file.txtJoin pairs of lines
sed "/pattern/q" file.txtQuit after matching pattern
sed "5q" file.txtQuit after line 5 (like head -n 5)