元のテキスト
$ cat sample.txt
     1  [.exe
     2  a2p.exe
     3  addftinfo.exe
     4  afmtodit
     5  apropos
     6  arch.exe
     7  ascii.exe
     8  ash.exe
     9  awk
    10  banner.exe

3行目を置き換え(上書き)
$ sed '3c\ABC' sample.txt
     1  [.exe
     2  a2p.exe
ABC
     4  afmtodit
     5  apropos
     6  arch.exe
     7  ascii.exe
     8  ash.exe
     9  awk
    10  banner.exe

3行目を置き換え(上書き)(複数行の置換文字列)
$ sed '3c\ABC\
DEF
' sample.txt

     1  [.exe
     2  a2p.exe
ABC
DEF
     4  afmtodit
     5  apropos
     6  arch.exe
     7  ascii.exe
     8  ash.exe
     9  awk
    10  banner.exe

3行目を置き換え(上書き)(複数行の置換文字列。「\n」で改行)
$ sed '3c\ABC\nDEF' sample.txt
     1  [.exe
     2  a2p.exe
ABC
DEF
     4  afmtodit
     5  apropos
     6  arch.exe
     7  ascii.exe
     8  ash.exe
     9  awk
    10  banner.exe

3行目以外を置き換え(上書き)(「!」で否定条件)
$ sed '3!c\ABC' sample.txt
ABC
ABC
     3  addftinfo.exe
ABC
ABC
ABC
ABC
ABC
ABC
ABC

3~5行目を置き換え(上書き)
$ sed '3,5c\ABC' sample.txt
     1  [.exe
     2  a2p.exe
ABC
     6  arch.exe
     7  ascii.exe
     8  ash.exe
     9  awk
    10  banner.exe

3~5行目以外を置き換え(上書き)(「!」で否定条件)
$ sed '3,5!c\ABC' sample.txt
ABC
ABC
     3  addftinfo.exe
     4  afmtodit
     5  apropos

ABC
ABC
ABC
ABC
ABC

8行目から最終行までを置き換え(上書き)
$ sed '8,$c\ABC' sample.txt
     1  [.exe
     2  a2p.exe
     3  addftinfo.exe
     4  afmtodit
     5  apropos
     6  arch.exe
     7  ascii.exe
ABC

afm」のある行を置き換え(上書き)(正規表現を「/afm/」で指定)
$ sed '/afm/c\ABC' sample.txt
     1  [.exe
     2  a2p.exe
     3  addftinfo.exe
ABC
     5  apropos
     6  arch.exe
     7  ascii.exe
     8  ash.exe
     9  awk
    10  banner.exe

afm」のある行から「arch」のある行までを置き換え(上書き)(正規表現で開始、終了位置を指定)
$ sed '/afm/,/arch/c\ABC' sample.txt
     1  [.exe
     2  a2p.exe
     3  addftinfo.exe
ABC
     7  ascii.exe
     8  ash.exe
     9  awk
    10  banner.exe

1行目から「arch」のある行までを置き換え(上書き)
$ sed '1,/arch/c\ABC' sample.txt
ABC
     7  ascii.exe
     8  ash.exe
     9  awk
    10  banner.exe

afm」のある行から最終行までを置き換え(上書き)
$ sed '/afm/,$c\ABC' sample.txt
     1  [.exe
     2  a2p.exe
     3  addftinfo.exe
ABC

最初の「exe」のある行までを置き換え(上書き)(0は先頭行より前を意味する)
$ sed '0,/exe/c\ABC' sample.txt
ABC
     2  a2p.exe
     3  addftinfo.exe
     4  afmtodit
     5  apropos
     6  arch.exe
     7  ascii.exe
     8  ash.exe
     9  awk
    10  banner.exe


1行目から次の「exe」のある行までを置き換え(上書き)
※上の例との違いに注意
$ sed '1,/exe/c\ABC' sample.txt
ABC
     3  addftinfo.exe
     4  afmtodit
     5  apropos
     6  arch.exe
     7  ascii.exe
     8  ash.exe
     9  awk
    10  banner.exe


3行目から次の2行を置き換え(上書き)
$ sed '3,+2c\ABC' sample.txt
     1  [.exe
     2  a2p.exe
ABC
     6  arch.exe
     7  ascii.exe
     8  ash.exe
     9  awk
    10  banner.exe

3行目から2行ごとに置き換え(上書き)
$ sed '3~2c\ABC' sample.txt
     1  [.exe
     2  a2p.exe
ABC
     4  afmtodit
ABC
     6  arch.exe
ABC
     8  ash.exe
ABC
    10  banner.exe

3行目から次の4の倍数の行まで置き換え(上書き)
$ sed '5,~4c\ABC' sample.txt
     1  [.exe
     2  a2p.exe
     3  addftinfo.exe
     4  afmtodit
ABC
     9  awk
    10  banner.exe

■ 記事で使ったsedのバージョン
$ sed --version
GNU sed version 4.2.1
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.

GNU sed home page: <http://www.gnu.org/software/sed/>.
General help using GNU software: <http://www.gnu.org/gethelp/>.
E-mail bug reports to: <bug-gnu-utils@gnu.org>.
Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.

■参照

sed, a stream editor