`
sharp-fcc
  • 浏览: 105497 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sed常用经典案例

阅读更多

在做原文件操作前,我们先把匹配的行打印出来 p表示打印  n表示只输出匹配

sed -n  '/xxx/p'

  

 

sed 删除引号中的内容

sed -i 's/srcset=\"[^"]*//g'

 

sed 删除某一段内容,示例中删除 class=g的整个div

sed '/<div class="g"/,/<\/div>/d' 

 

sed 删除指定匹配的两行 之间用分号隔开

sed -i '/Original URL/d;/Date Downloaded/d' 

 

sed 段匹配

sed -n '/<ul>/{:loop;N;/<\/ul>/!bloop;N;p}' index.html

 

sed 删除匹配行上多行 下多行 , 主要是删除匹配行上面的行,核心思想是维护一个多行的窗口,超过这个窗口的删除最老的那个。/11/,+2d 表示 删除匹配11的行 以及匹配行下面两行,

:loop 设置标记

1,3!{P;N;D} 除了第一行到第三行,其他行都执行P;N;D操作(P 打印当前模式空间的第一行;N 将下一行添加到当前模式空间中;D 删除模式空间的第一行并开始一个新的循环)

N 这个命令只对第一行到第三行有效了,因为其他行在上一个命令中都执行了D,直接开始新的循环了,所以这个命令不会被执行。
bgo 返回go标签
sed  '/11/,+2d;:loop;1,3!{P;$!N;D};N;bloop'

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics