sed (stream editor) is a Unix utility that parses and transforms text, using a simple, compact programming language.

$ sed -i 's/cat/dog/' file.txt
# this will replace any occurrence of the characters 'cat' by 'dog'

Usage: sed [OPTION]… {script-only-if-no-other-script} [input-file]…

-n, –quiet, –silent
suppress automatic printing of pattern space
-e script, –expression=script
add the script to the commands to be executed
-f script-file, –file=script-file
add the contents of script-file to the commands to be executed
follow symlinks when processing in place
-i[SUFFIX], –in-place[=SUFFIX]
edit files in place (makes backup if SUFFIX supplied)
-l N, –line-length=N
specify the desired line-wrap length for the `l’ command
disable all GNU extensions.
-r, –regexp-extended
use extended regular expressions in the script.
-s, –separate
consider files as separate rather than as a single continuous
long stream.
-u, –unbuffered
load minimal amounts of data from the input files and flush
the output buffers more often
-z, –null-data
separate lines by NUL characters
–help display this help and exit
–version output version information and exit

If no -e, –expression, -f, or –file option is given, then the first non-option argument is taken as the sed script to interpret. All remaining arguments are names of input files; if no input files are specified, then the standard input is read.

Categories: Reference