Linux sed常规用法小结
Linux sed常规用法小结
sed是一个非交互性的流编辑器,是stream editor的缩写。sed每次只处理一行内容,可以对文本或标准输入流进行处理。需要注意的是,sed并不直接操作初始数据,它操作的是一份原始数据的拷贝。sed处理时,把当前处理的行存储在临时缓冲区中,然后处理缓冲区中的内容,处理完成后,如果没有重定向到文件, 将把缓冲区中的内容送往屏幕,接着处理下一行直到处理完毕。
理论的东东,这里不谈了,下面谈些常规应用吧。
在演示之前,我们先构筑个初始文件orig.txt 和append.txt
- [root@localhost .shell]# cat orig.txt
- id name price address
- --------------------------------
- 1 apple $50 USA
- 2 pear $60 Canda
- 3 pen $1 China
- --------------------------------
- total $111
- [root@localhost .shell]# cat append.txt
- 4 apple $50 USA
- 5 $60 Canda
- 6 pen $1 China
1、打印指定行
a)打印第一行
- [root@localhost .shell]# sed -n '1p' orig.txt
- id name price address
b)打印3-5行
- [root@localhost .shell]# sed -n '3,5p' orig.txt
- 1 apple $50 USA
- 2 pear $60 Canda
- 3 pen $1 China
c)打印最后一行
- [root@localhost .shell]# sed -n '$p' orig.txt
- total $111
d)打印所有行
- [root@localhost .shell]# sed -n '1,$p' orig.txt
- id name price address
- -------------------------------
- 1 apple $50 USA
- 2 pear $60 Canda
- 3 pen $1 China
- --------------------------------
- total $111
e)打印含有pen的行
- [root@localhost .shell]# sed -n '/pen/p' orig.txt
- 3 pen $1 China
f)从第一行开始打印,打印到第一个含有$行
- [root@localhost .shell]# sed -n '1,/\$/'p orig.txt
- id name price address
- -------------------------------
- 1 apple $50 USA
|
评论暂时关闭