manpagez: man pages & more
info sed
Home | html | info | man

File: sed.info,  Node: Overview,  Next: Command-Line Options,  Up: Invoking sed

2.1 Overview
============

Normally ‘sed’ is invoked like this:

     sed SCRIPT INPUTFILE...

   For example, to change every ‘hello’ to ‘world’ in the file
‘input.txt’:

     sed 's/hello/world/g' input.txt > output.txt

   Without the ‘g’ (global) modifier, ‘sed’ affects only the first
instance per line.

   If you do not specify INPUTFILE, or if INPUTFILE is ‘-’, ‘sed’
filters the contents of the standard input.  The following commands are
equivalent:

     sed 's/hello/world/g' input.txt > output.txt
     sed 's/hello/world/g' < input.txt > output.txt
     cat input.txt | sed 's/hello/world/g' - > output.txt

   ‘sed’ writes output to standard output.  Use ‘-i’ to edit files
in-place instead of printing to standard output.  See also the ‘W’ and
‘s///w’ commands for writing output to other files.  The following
command modifies ‘file.txt’ and does not produce any output:

     sed -i 's/hello/world/' file.txt

   By default ‘sed’ prints all processed input (except input that has
been modified/deleted by commands such as ‘d’).  Use ‘-n’ to suppress
output, and the ‘p’ command to print specific lines.  The following
command prints only line 45 of the input file:

     sed -n '45p' file.txt

   ‘sed’ treats multiple input files as one long stream.  The following
example prints the first line of the first file (‘one.txt’) and the last
line of the last file (‘three.txt’).  Use ‘-s’ to reverse this behavior.

     sed -n  '1p ; $p' one.txt two.txt three.txt

   Without ‘-e’ or ‘-f’ options, ‘sed’ uses the first non-option
parameter as the SCRIPT, and the following non-option parameters as
input files.  If ‘-e’ or ‘-f’ options are used to specify a SCRIPT, all
non-option parameters are taken as input files.  Options ‘-e’ and ‘-f’
can be combined, and can appear multiple times (in which case the final
effective SCRIPT will be concatenation of all the individual SCRIPTs).

   The following examples are equivalent:

     sed 's/hello/world/' input.txt > output.txt

     sed -e 's/hello/world/' input.txt > output.txt
     sed --expression='s/hello/world/' input.txt > output.txt

     echo 's/hello/world/' > myscript.sed
     sed -f myscript.sed input.txt > output.txt
     sed --file=myscript.sed input.txt > output.txt

© manpagez.com 2000-2026
Individual documents may contain additional copyright information.