Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

sed 中逗号的使用

Posted on 2010-01-19 10:07 Prayer 阅读(1271) 评论(0)  编辑 收藏 引用 所属分类: Shell
 

指定两个用逗号分开的规则表达式,sed 将与所有从匹配第一个规则表达式的第一行开始,到匹配第二个规则表达式的行结束(包括该行)的所有行匹配。例如,以下命令将打印从包含 "BEGIN" 的行开始,并且以包含 "END" 的行结束的文本块:
  $ sed -n -e /BEGIN/,/END/p /my/test/file | more
  
  如果没发现 "BEGIN",那么将不打印数据。如果发现了 "BEGIN",但是在这之后的所有行中都没发现 "END",那么将打印所有后续行。发生这种情况是因为 sed 面向流的特性 -- 它不知道是否会出现 "END"

sed '/./,/^$/!d' test 的解释:从非空行开始,包含一个空行的所有行。第一行一定是个非空行。

cat –s 只是将所有的空行压缩成一个空行。因此第一行可以是空行。


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理