Chinaunix

标题: 新手求问Sed问题 [打印本页]

作者: meteor67    时间: 2013-01-17 16:15
标题: 新手求问Sed问题
学习sed的时候,看到有的命令用的是sed -n, 有的是sed -e,help里的说明也没太看懂,求问这两者的区别。

另外假设有一个文本 test,内容为
1
2
3
如果我用 sed -n '1,$p' test
会正常打印出这个文本的所有行
而如果用 sed -e '1,$p' test
则会出现
1
1
2
2
3
3
这个又是什么原理呢?

新手问题,大神莫笑。。。拜谢
作者: jiaogeshahaone    时间: 2013-01-17 16:25
man sed





作者: meteor67    时间: 2013-01-17 16:29
回复 2# jiaogeshahaone


    man里和help里对-n和-e的解释都太模糊了,理解不能。。
作者: blackold    时间: 2013-01-17 17:19
回复 1# meteor67


    只是个命令选项。
作者: blackold    时间: 2013-01-17 17:21
-n 关闭了自动输出, 无参数。
-e 'sedcommand' 它的参数是sed 命令。
作者: meteor67    时间: 2013-01-17 17:53
回复 5# blackold


    有点懂了,sed每读一行都会自动输出,所以用sed -e "1,$p"或者sed "1,$p"的时候相当于自动输出一行,然后命令打印出一行,所以两行,用-n以后没有自动输出了,只有命令打印了,所以每行只有一次,这么理解对么?
作者: blackold    时间: 2013-01-17 18:03
回复 6# meteor67


    基本上是这样吧。
作者: meteor67    时间: 2013-01-17 18:14
回复 7# blackold


    谢谢指点~




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2