本人找到的功能较全的sed.exe 4.14 http://bbs.bathome.net/thread-1114-1-1.html
注:本人是sed新手,下面所叙述的也是本人的学习心得,还请大家补充和指正
有文本a.txt内容如下:- a-1
- a-2
- a-3
- 1-a
- 2-a
- 3-a
- b-1
- b-2
- b-3
复制代码 1、显示所有含有字符"a"的行复制代码 -n开关是表示输出由编辑指令控制,p开关是有条件显示开关,在些处就是仅显示有"a"字符的行。
2、显示所有以字符"a"开头的行复制代码 符号"^"在这里不是起到转义的作用而是表示行的开始,这个和findstr中的用法是一样的。
3、不显示所有含有"a"字符的行复制代码 d开关是表示删除的意思。
4、不显示所有以"a"字符开头的行复制代码 5、将文本中所有的"b"字符替换为"bathome"复制代码 s开关是替换开关,开启此开关后将会将第一个//间的字符替换为第二个//间的字符。
6、将文本中以"a"开头的行全部替换为"bathome"- sed "s/^a.*/bathome/" a.txt
复制代码 7、不显示文本中前5行复制代码 即为删除文本前期前5行。
8、显示文本中5-8行复制代码 一样的要用-n开关先将输出定向到编辑指令控制。
9、将文本中所有"a"替换为"A",同时删除所有含有字符"-1"的行,并将所有以"b"开头的行替换为"bathome"- sed -e "s/a/A/" -e "/-1/d" -e "s/^b.*/bathome/" a.txt
复制代码 -e开关是sed中多个命令的连接开关。
10、删除除了以"3"字符打头的行以外的所有行复制代码 !开关是表示以什么样的条件不执行命令,在这里就是碰到以"3"字符打头的行不执行删除命令。
[ 本帖最后由 Batcher 于 2009-5-1 21:09 编辑 ] |