Skip to content

SED和GSED中N命令的不同

SED中的N命令的作用: 从输入文件中读入下一行,并附加到模式空间中,然后接着执行下面的SED命令。如果N碰到最后一行,则直接退出,不再执行后面的脚本。 传统的SED中,N命令遇到最后一行的话,SED直接退出,不输出最后那一行(模式空间中的内容),而GSED则输出。如果不是最后一行的话,则SED/GSED行为相同 用于测试的三行文本: ┌[acheng@vanilla]-(~) └> echo -e “test\necho\ntext” test echo text 当”echo”在最后一行时,sed直接退出,没有输出”echo”: ┌[acheng@vanilla]-(~) └> echo -e “test\necho” | sed ‘/^echo/ {N;}’ test 同样的情况,gsed则输出(OpenBSD上gsed需要另外安装。Linux上的sed和gsed多是一回事): ┌[acheng@vanilla]-(~) └> echo -e “test\necho” | gsed ‘/^echo/ {N;}’ test echo 当”echo”不为最后一行时,sed和gsed的输出相同: ┌[acheng@vanilla]-(~) └> echo -e…

Read more
Sidebar