测试的环境:
[service@gan .ssh]$ uname -a
Linux gan 2.4.21-20.EL #1 SMP Wed Aug 18 20:34:58 EDT 2004 x86_64 x86_64 x86_64 GNU/Linux

[service@gan .ssh]$ sed -V
GNU sed version 4.0.7
Copyright (C) 2003 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.

文章出处:http://gan.cublog.cn

1>. 删除普通字符操作
[service@gan .ssh]$ cat dfile.txt
LINE1
LINE2
LINE3
LINE4
LINE5
LINE6
LINE7

删除指定行2
[service@gan .ssh]$ sed ‘2d’ dfile.txt
LINE1
LINE3
LINE4
LINE5
LINE6
LINE7

http://gan.cublog.cn

删除1到5行数据
[service@gan .ssh]$ sed ‘1,5d’ dfile.txt
LINE6
LINE7

删除除1到4行的所有行
[service@gan .ssh]$ sed ‘1,4 !d’ dfile.txt
LINE1
LINE2
LINE3
LINE4

删除1行,3行数据
[service@gan .ssh]$ sed -e ‘1d’ -e ‘3d’ dfile.txt
LINE2
LINE4
LINE5
LINE6
LINE7

删除最后一行数据
[service@gan .ssh]$ sed ‘$d’ dfile.txt
LINE1
LINE2
LINE3
LINE4
LINE5
LINE6

http://gan.cublog.cn

删除3到最后一行
[service@gan .ssh]$ sed ‘3,$d’ dfile.txt
LINE1
LINE2

删除包含4字符的行
[service@gan .ssh]$ sed ‘/4/’d dfile.txt
LINE1
LINE2
LINE3
LINE5
LINE6
LINE7
[service@gan .ssh]$ sed -e ‘/4/d’ dfile.txt
LINE1
LINE2
LINE3
LINE5
LINE6
LINE7

———————
[service@gan .ssh]$ cat dfile.txt
LINE1
LINE2
LINE3http://gan.cublog.cn
LINE4
LINE5
LINE6
LINE7
ABC123
123XXABC
W00–

删除包含4,5字符的行
[service@gan .ssh]$ sed ‘/4/,/5/’d dfile.txt #这种做法不建议使用,因为有时候会不行
LINE1
LINE2
LINE3
LINE6
LINE7
ABC123
123XXABC
W00–
[service@gan .ssh]$ sed ‘/4/d;/5/d’ dfile.txt
LINE1
LINE2
LINE3
LINE6
LINE7
ABC123
123XXABC
W00–

http://gan.cublog.cn

删除开头字符为A和包含5字符的行
[service@gan .ssh]$ sed -e “/^A/d;/5/d” dfile.txt
LINE1
LINE2
LINE3
LINE4
LINE6
LINE7
123XXABC
W00–

这样操作产生的结果不知道是什么,很奇怪的结果
[service@gan .ssh]$ sed -e “/^A/,/5/d” dfile.txt
LINE1
LINE2
LINE3
LINE4
LINE5
LINE6
LINE7

删除空行(用上正侧表达式了)
[service@gan .ssh]$ sed -e ‘/^$/d’ dfile.txt

2>. 特殊字符的删除
[service@gan .ssh]$ cat sp.txt
A”/`!B\C’<>&%#@~()?{}|+_-=:;K 1
A/`!B\C’
<>&%#@~()?{}|+-=:;K 2
A`!B\C’*<>&%#@~()?{}|+
-=:;K 3
A!B\C’<>&%#@~()?{}|+_-=:;K 4
AB\C’
<>&%#@~()?{}|+-=:;K 5
ABC’*<>&%#@~()?{}|+
-=:;K 6
ABC*<>&%#@~()?{}|+-=:;K 7
ABC<>&%#@~()?{}|+
-=:;K 8
ABC>&%#@~()?{}|+-=:;K 9
ABC&%#@~()?{}|+
-=:;K 10
ABC%#@~()?{}|+-=:;K 11
ABC#@~()?{}|+
-=:;K 12
ABC@~()?{}|+-=:;K 13
ABC~()?{}|+
-=:;K 14
ABC()?{}|+-=:;K 15
ABC)?{}|+
-=:;K 16
ABC?{}|+-=:;K 17
ABC{}|+
-=:;K 18
ABC}|+-=:;K 19
ABC|+
-=:;K 20
ABC+-=:;K 21
ABC
-=:;K 22
ABC-=:;K 23
ABC=:;K 24
ABC:;K 25
ABC;K 26
ABCK 27

[service@gan .ssh]$ sed ‘/”/d’ sp.txt
A/`!B\C’*<>&%#@~()?{}|+_-=:;K 2
…… 其他的行省略不写了

[service@gan .ssh]$ sed ‘/\//d’ sp.txt
A`!B\C’*<>&%#@~()?{}|+_-=:;K 3
…… 采用转义字符\

http://gan.cublog.cn

[service@gan .ssh]$ sed ‘/`/d’ sp.txt
A!B\C’<>&%#@~()?{}|+_-=:;K 4
……
[service@gan .ssh]$ sed ‘/!/d’ sp.txt
AB\C’
<>&%#@~()?{}|+-=:;K 5
……
[service@gan .ssh]$ sed ‘/\/d’ sp.txt
ABC’*<>&%#@~()?{}|+
-=:;K 6
…… 采用转义字符\
[service@gan .ssh]$ sed “/’/d” sp.txt
ABC<>&%#@~()?{}|+_-=:;K 7
…… 使用””符号
[service@gan .ssh]$ sed ‘/
/d’ sp.txt
ABC<>&%#@~()?{}|+-=:;K 8
…… 后面的其他字符(<>&%#@~()?{}|+
-=:;)同普通字符删除操作一样

对于sed在字符删除部分写的可能还不是很全面,慢慢添加吧。。。