sed是一个非交互性的流编辑器,是stream editor的缩写。sed每次只处理一行内容,可以对文本或标准输入流进行处理。需要注意的是,sed并不直接操作初始数据,它操作的是一份原始数据的拷贝。sed处理时,把当前处理的行存储在临时缓冲区中,然后处理缓冲区中的内容,处理完成后,如果没有重定向到文件, 将把缓冲区中的内容送往屏幕,接着处理下一行直到处理完毕。
理论的东东,这里不谈了,下面谈些常规应用吧。
在演示之前,,我们先构筑个初始文件orig.txt 和append.txt
1、打印指定行
a)打印第一行
[root@localhost.shell]#sed-n’1p’orig.txtidnamepriceaddressb)打印3-5行
c)打印最后一行
[root@localhost.shell]#sed-n’$p’orig.txttotal$111d)打印所有行
e)打印含有pen的行
[root@localhost.shell]#sed-n’/pen/p’orig.txt3pen$1Chinaf)从第一行开始打印,打印到第一个含有$行
只有流过血的手指才能弹出世间的绝唱。